From: Victor Julien Date: Wed, 5 Mar 2014 11:21:00 +0000 (+0100) Subject: pcap-file: clean up decode thread local storage X-Git-Tag: suricata-2.0.1rc1~81 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bb2e9af40fb5a527a7c5160b9282441b4a4f18cb;p=thirdparty%2Fsuricata.git pcap-file: clean up decode thread local storage Clean up the thread local data the decode portion of pcap-file use. Bug #978. --- diff --git a/src/source-pcap-file.c b/src/source-pcap-file.c index 838dc2c93c..156b286225 100644 --- a/src/source-pcap-file.c +++ b/src/source-pcap-file.c @@ -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() {