From ce2b00fe8300e6294afb67e526126f54f30422c7 Mon Sep 17 00:00:00 2001 From: Tim Wojtulewicz Date: Mon, 19 Oct 2020 16:29:47 -0700 Subject: [PATCH] Fix a couple of Coverity findings (1433618, 1433619) --- src/Sessions.cc | 22 +++++++++++++--------- src/packet_analysis/protocol/ip/IP.cc | 1 + 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/Sessions.cc b/src/Sessions.cc index 5a7ad25b2e..c4431cece2 100644 --- a/src/Sessions.cc +++ b/src/Sessions.cc @@ -681,19 +681,23 @@ bool NetSessions::WantConnection(uint16_t src_port, uint16_t dst_port, void NetSessions::Weird(const char* name, const Packet* pkt, const char* addl) { + const char* weird_name = name; + if ( pkt ) + { pkt->dump_packet = true; - const char* weird_name; - if ( pkt->encap && pkt->encap->LastType() != BifEnum::Tunnel::NONE ) - weird_name = util::fmt("%s_in_tunnel", name); - else - weird_name = name; + if ( pkt->encap && pkt->encap->LastType() != BifEnum::Tunnel::NONE ) + weird_name = util::fmt("%s_in_tunnel", name); - if ( pkt->ip_hdr ) - reporter->Weird(pkt->ip_hdr->SrcAddr(), pkt->ip_hdr->DstAddr(), weird_name, addl); - else - reporter->Weird(weird_name, addl); + if ( pkt->ip_hdr ) + { + reporter->Weird(pkt->ip_hdr->SrcAddr(), pkt->ip_hdr->DstAddr(), weird_name, addl); + return; + } + } + + reporter->Weird(weird_name, addl); } void NetSessions::Weird(const char* name, const IP_Hdr* ip, const char* addl) diff --git a/src/packet_analysis/protocol/ip/IP.cc b/src/packet_analysis/protocol/ip/IP.cc index 4a0048f641..aff4f5606d 100644 --- a/src/packet_analysis/protocol/ip/IP.cc +++ b/src/packet_analysis/protocol/ip/IP.cc @@ -26,6 +26,7 @@ IPAnalyzer::IPAnalyzer() IPAnalyzer::~IPAnalyzer() { + delete discarder; } bool IPAnalyzer::AnalyzePacket(size_t len, const uint8_t* data, Packet* packet)