mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 22:58:20 +00:00
Fix memory leak in file analyzer.
This undoes the changes applied in merge9db27a6d60
and goes back to the state in the branch as of the merge5ab3b86
. Getting rid of the additional layer of removing analyzers and just keeping them in the set introduced subtle differences in behavior since a few calls were still passed along. Skipping all of these with SetSkip introduced yet other subtle behavioral differences.
This commit is contained in:
parent
7beac6e404
commit
1de6cfc2e3
3 changed files with 17 additions and 2 deletions
|
@ -107,6 +107,9 @@ File::~File()
|
|||
DBG_LOG(DBG_FILE_ANALYSIS, "[%s] Destroying File object", id.c_str());
|
||||
Unref(val);
|
||||
delete file_reassembler;
|
||||
|
||||
for ( auto a : done_analyzers )
|
||||
delete a;
|
||||
}
|
||||
|
||||
void File::UpdateLastActivityTime()
|
||||
|
@ -494,6 +497,11 @@ void File::DeliverChunk(const u_char* data, uint64 len, uint64 offset)
|
|||
EndOfFile();
|
||||
}
|
||||
|
||||
void File::DoneWithAnalyzer(Analyzer* analyzer)
|
||||
{
|
||||
done_analyzers.push_back(analyzer);
|
||||
}
|
||||
|
||||
void File::DataIn(const u_char* data, uint64 len, uint64 offset)
|
||||
{
|
||||
analyzers.DrainModifications();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue