]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
erf-file: clean up decode thread local storage
authorVictor Julien <victor@inliniac.net>
Fri, 28 Mar 2014 12:14:38 +0000 (13:14 +0100)
committerVictor Julien <victor@inliniac.net>
Wed, 2 Apr 2014 11:13:52 +0000 (13:13 +0200)
Clean up the thread local data the decode portion of ERF users.

Bug #978

src/source-erf-file.c

index 23a719f1b1a3d3414bee6b6eb227f48bc928abf1..53ffee1df91c9e5fc737086e049855290adc60a9 100644 (file)
@@ -68,6 +68,7 @@ void ReceiveErfFileThreadExitStats(ThreadVars *, void *);
 TmEcode ReceiveErfFileThreadDeinit(ThreadVars *, void *);
 
 TmEcode DecodeErfFileThreadInit(ThreadVars *, void *, void **);
+TmEcode DecodeErfFileThreadDeinit(ThreadVars *tv, void *data);
 TmEcode DecodeErfFile(ThreadVars *, Packet *, void *, PacketQueue *, PacketQueue *);
 
 /**
@@ -98,7 +99,7 @@ TmModuleDecodeErfFileRegister(void)
     tmm_modules[TMM_DECODEERFFILE].ThreadInit = DecodeErfFileThreadInit;
     tmm_modules[TMM_DECODEERFFILE].Func = DecodeErfFile;
     tmm_modules[TMM_DECODEERFFILE].ThreadExitPrintStats = NULL;
-    tmm_modules[TMM_DECODEERFFILE].ThreadDeinit = NULL;
+    tmm_modules[TMM_DECODEERFFILE].ThreadDeinit = DecodeErfFileThreadDeinit;
     tmm_modules[TMM_DECODEERFFILE].RegisterTests = NULL;
     tmm_modules[TMM_DECODEERFFILE].cap_flags = 0;
     tmm_modules[TMM_DECODEERFFILE].flags = TM_FLAG_DECODE_TM;
@@ -264,6 +265,13 @@ DecodeErfFileThreadInit(ThreadVars *tv, void *initdata, void **data)
     SCReturnInt(TM_ECODE_OK);
 }
 
+TmEcode DecodeErfFileThreadDeinit(ThreadVars *tv, void *data)
+{
+    if (data != NULL)
+        DecodeThreadVarsFree(data);
+    SCReturnInt(TM_ECODE_OK);
+}
+
 /**
  * \brief Decode the ERF file.
  *