From 4f1980d048f1b0dd0e710503c9a7709d962af55c Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Fri, 3 Apr 2020 10:09:07 +0200 Subject: [PATCH] flow: cleanup expectations first Make sure to cleanup expectations for a flow as the first step, before parts of the flow itself are getting cleaned/freed. Also indicate use unlikely as flows with expectations should be relatively rare. (cherry picked from commit 09a21545ce00de8ef161f097603f98770351e9be) --- src/flow.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/flow.c b/src/flow.c index b45ec518e3..922c85593d 100644 --- a/src/flow.c +++ b/src/flow.c @@ -975,6 +975,10 @@ int FlowClearMemory(Flow* f, uint8_t proto_map) { SCEnter(); + if (unlikely(f->flags & FLOW_HAS_EXPECTATION)) { + AppLayerExpectationClean(f); + } + /* call the protocol specific free function if we have one */ if (flow_freefuncs[proto_map].Freefunc != NULL) { flow_freefuncs[proto_map].Freefunc(f->protoctx); -- 2.47.2