]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
endace-dag: clean up decode thread local storage
authorVictor Julien <victor@inliniac.net>
Fri, 28 Mar 2014 12:11:03 +0000 (13:11 +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 DAG uses.

Bug #978

src/source-erf-dag.c

index c6625ace8b9eda1365f87c21223729a863267aec..95eaaf5a372049c7a9f5aa7c4c79f71bd370d06f 100644 (file)
@@ -105,6 +105,7 @@ void ReceiveErfDagThreadExitStats(ThreadVars *, void *);
 TmEcode ReceiveErfDagThreadDeinit(ThreadVars *, void *);
 
 TmEcode DecodeErfDagThreadInit(ThreadVars *, void *, void **);
+TmEcode DecodeErfDagThreadDeinit(ThreadVars *tv, void *data);
 TmEcode DecodeErfDag(ThreadVars *, Packet *, void *, PacketQueue *, PacketQueue *);
 void ReceiveErfDagCloseStream(int dagfd, int stream);
 
@@ -136,7 +137,7 @@ TmModuleDecodeErfDagRegister(void)
     tmm_modules[TMM_DECODEERFDAG].ThreadInit = DecodeErfDagThreadInit;
     tmm_modules[TMM_DECODEERFDAG].Func = DecodeErfDag;
     tmm_modules[TMM_DECODEERFDAG].ThreadExitPrintStats = NULL;
-    tmm_modules[TMM_DECODEERFDAG].ThreadDeinit = NULL;
+    tmm_modules[TMM_DECODEERFDAG].ThreadDeinit = DecodeErfDagThreadDeinit;
     tmm_modules[TMM_DECODEERFDAG].RegisterTests = NULL;
     tmm_modules[TMM_DECODEERFDAG].cap_flags = 0;
     tmm_modules[TMM_DECODEERFDAG].flags = TM_FLAG_DECODE_TM;
@@ -644,4 +645,11 @@ TmEcode DecodeErfDagThreadInit(ThreadVars *tv, void *initdata, void **data)
     SCReturnInt(TM_ECODE_OK);
 }
 
+TmEcode DecodeErfDagThreadDeinit(ThreadVars *tv, void *data)
+{
+    if (data != NULL)
+        DecodeThreadVarsFree(data);
+    SCReturnInt(TM_ECODE_OK);
+}
+
 #endif /* HAVE_DAG */