analyzer/HTTP: Call TCP_ApplicationAnalyzer::Done() after RequestMade()/ReplyMade()

This commit is contained in:
Arne Welzel 2022-10-17 15:47:49 +02:00 committed by Tim Wojtulewicz
parent fa956efa79
commit 6ef9423f3c

View file

@ -849,11 +849,15 @@ void HTTP_Analyzer::Done()
if ( IsFinished() )
return;
analyzer::tcp::TCP_ApplicationAnalyzer::Done();
RequestMade(true, "message interrupted when connection done");
ReplyMade(true, "message interrupted when connection done");
// Call Done() on support and child analyzers only after RequestMade()
// and ReplyMade() completed. These methods may interact with the analyzer's
// child analyzers (specifically through HTTP_Entity's EndOfData() and
// ForwardEndOfData()) which isn't valid after a call to Done().
analyzer::tcp::TCP_ApplicationAnalyzer::Done();
delete request_message;
request_message = nullptr;