diff --git a/src/Expr.cc b/src/Expr.cc index a8c2fc32c9..1ab49bcd3b 100644 --- a/src/Expr.cc +++ b/src/Expr.cc @@ -4910,6 +4910,7 @@ Val* ListExpr::Eval(Frame* f) const if ( ! ev ) { Error("uninitialized list value"); + delete v; return 0; } diff --git a/src/Net.cc b/src/Net.cc index 2d8ee85353..149cee6e94 100644 --- a/src/Net.cc +++ b/src/Net.cc @@ -254,6 +254,7 @@ void net_init(name_list& interfaces, name_list& readfiles, { io_sources.Register(fs); } + delete fs; } } diff --git a/src/NetbiosSSN.cc b/src/NetbiosSSN.cc index 274e76f137..7f7a77933d 100644 --- a/src/NetbiosSSN.cc +++ b/src/NetbiosSSN.cc @@ -131,6 +131,9 @@ int NetbiosSSN_Interpreter::ParseBroadcast(const u_char* data, int len, return 0; } + delete srcname; + delete dstname; + return 0; } diff --git a/src/POP3.cc b/src/POP3.cc index 4ffe67ef48..3075e76507 100644 --- a/src/POP3.cc +++ b/src/POP3.cc @@ -158,6 +158,7 @@ void POP3_Analyzer::ProcessRequest(int length, const char* line) if ( e >= end ) { Weird("pop3_malformed_auth_plain"); + delete decoded; return; } @@ -167,6 +168,7 @@ void POP3_Analyzer::ProcessRequest(int length, const char* line) if ( s >= end ) { Weird("pop3_malformed_auth_plain"); + delete decoded; return; } diff --git a/src/RuleMatcher.cc b/src/RuleMatcher.cc index 685e35bade..9be559c5ab 100644 --- a/src/RuleMatcher.cc +++ b/src/RuleMatcher.cc @@ -73,6 +73,7 @@ RuleHdrTest::RuleHdrTest(RuleHdrTest& h) copied_set->ids = orig_set->ids; loop_over_list(orig_set->patterns, l) copied_set->patterns.append(copy_string(orig_set->patterns[l])); + delete copied_set; } } @@ -1116,7 +1117,11 @@ void id_to_maskedvallist(const char* id, maskedvalue_list* append_to) val_list* vals = v->AsTableVal()->ConvertToPureList()->Vals(); loop_over_list(*vals, i ) if ( ! val_to_maskedval((*vals)[i], append_to) ) + { + delete vals; return; + } + delete vals; } else