]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
packet-pool: free pending packets 1277/head
authorVictor Julien <victor@inliniac.net>
Mon, 22 Dec 2014 16:00:56 +0000 (17:00 +0100)
committerVictor Julien <victor@inliniac.net>
Mon, 22 Dec 2014 16:00:56 +0000 (17:00 +0100)
src/tmqh-packetpool.c

index 38ca297c7054690a40261f0b72ad48ccb3dd43b8..b19845ff081e37572118ff668eededf6a7c13a01 100644 (file)
@@ -294,6 +294,21 @@ void PacketPoolInit(void)
 void PacketPoolDestroy(void)
 {
     Packet *p = NULL;
+    PktPool *my_pool = GetThreadPacketPool();
+    if (my_pool && my_pool->pending_head != NULL) {
+        p = my_pool->pending_head;
+        while (p) {
+            Packet *next_p = p->next;
+            PacketFree(p);
+            p = next_p;
+            my_pool->pending_count--;
+        }
+        BUG_ON(my_pool->pending_count);
+        my_pool->pending_pool = NULL;
+        my_pool->pending_head = NULL;
+        my_pool->pending_tail = NULL;
+    }
+
     while ((p = PacketPoolGetPacket()) != NULL) {
         PacketFree(p);
     }