diff --git a/src/file_analysis/analyzer/pe/PE.cc b/src/file_analysis/analyzer/pe/PE.cc index 6df2dc8d99..44464a3a5d 100644 --- a/src/file_analysis/analyzer/pe/PE.cc +++ b/src/file_analysis/analyzer/pe/PE.cc @@ -14,6 +14,7 @@ PE::PE(RecordVal* args, File* file) PE::~PE() { delete interp; + delete conn; } bool PE::DeliverStream(const u_char* data, uint64 len) diff --git a/testing/btest/Traces/pe/pe.trace b/testing/btest/Traces/pe/pe.trace new file mode 100644 index 0000000000..c70c9e6afe Binary files /dev/null and b/testing/btest/Traces/pe/pe.trace differ diff --git a/testing/btest/core/leaks/pe.test b/testing/btest/core/leaks/pe.test new file mode 100644 index 0000000000..d951cdbd47 --- /dev/null +++ b/testing/btest/core/leaks/pe.test @@ -0,0 +1,12 @@ +# Needs perftools support. +# +# @TEST-GROUP: leaks +# +# @TEST-REQUIRES: bro --help 2>&1 | grep -q mem-leaks +# +# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run bro bro -b -m -r $TRACES/pe/pe.trace %INPUT +# @TEST-EXEC: btest-bg-wait 60 + +@load base/protocols/ftp +@load base/files/pe +