]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
pcap-file: clean up decode thread local storage
authorVictor Julien <victor@inliniac.net>
Wed, 5 Mar 2014 11:21:00 +0000 (12:21 +0100)
committerVictor Julien <victor@inliniac.net>
Wed, 2 Apr 2014 11:13:51 +0000 (13:13 +0200)
Clean up the thread local data the decode portion of pcap-file use.

Bug #978.

src/source-pcap-file.c

index 838dc2c93c728fee14ed12e45edd09ccb5ab5fc5..156b286225dcbcad8787e372b4775941a9511016 100644 (file)
@@ -103,6 +103,7 @@ TmEcode ReceivePcapFileThreadDeinit(ThreadVars *, void *);
 
 TmEcode DecodePcapFile(ThreadVars *, Packet *, void *, PacketQueue *, PacketQueue *);
 TmEcode DecodePcapFileThreadInit(ThreadVars *, void *, void **);
+TmEcode DecodePcapFileThreadDeinit(ThreadVars *tv, void *data);
 
 void TmModuleReceivePcapFileRegister (void) {
     memset(&pcap_g, 0x00, sizeof(pcap_g));
@@ -123,7 +124,7 @@ void TmModuleDecodePcapFileRegister (void) {
     tmm_modules[TMM_DECODEPCAPFILE].ThreadInit = DecodePcapFileThreadInit;
     tmm_modules[TMM_DECODEPCAPFILE].Func = DecodePcapFile;
     tmm_modules[TMM_DECODEPCAPFILE].ThreadExitPrintStats = NULL;
-    tmm_modules[TMM_DECODEPCAPFILE].ThreadDeinit = NULL;
+    tmm_modules[TMM_DECODEPCAPFILE].ThreadDeinit = DecodePcapFileThreadDeinit;
     tmm_modules[TMM_DECODEPCAPFILE].RegisterTests = NULL;
     tmm_modules[TMM_DECODEPCAPFILE].cap_flags = 0;
     tmm_modules[TMM_DECODEPCAPFILE].flags = TM_FLAG_DECODE_TM;
@@ -446,6 +447,12 @@ TmEcode DecodePcapFileThreadInit(ThreadVars *tv, void *initdata, void **data)
     SCReturnInt(TM_ECODE_OK);
 }
 
+TmEcode DecodePcapFileThreadDeinit(ThreadVars *tv, void *data)
+{
+    if (data != NULL)
+        DecodeThreadVarsFree(data);
+    SCReturnInt(TM_ECODE_OK);
+}
 
 void PcapIncreaseInvalidChecksum()
 {