diff --git a/src/flow-timeout.c b/src/flow-timeout.c index 36391783f0..a3de51da64 100644 --- a/src/flow-timeout.c +++ b/src/flow-timeout.c @@ -238,11 +238,13 @@ static inline Packet *FlowForceReassemblyPseudoPacketGet(int direction, TcpSession *ssn, int dummy) { - Packet *p; - - p = PacketGetFromAlloc(); - if (p == NULL) + PacketPoolWait(); + Packet *p = PacketPoolGetPacket(); + if (p == NULL) { return NULL; + } + + PACKET_PROFILING_START(p); return FlowForceReassemblyPseudoPacketSetup(p, direction, f, ssn, dummy); } @@ -535,9 +537,11 @@ static inline void FlowForceReassemblyForHash(void) */ void FlowForceReassembly(void) { + /* called by 'main()' which has no packet pool */ + PacketPoolInit(); /* Carry out flow reassembly for unattended flows */ FlowForceReassemblyForHash(); - + PacketPoolDestroy(); return; }