From: Victor Julien Date: Fri, 27 Sep 2013 12:59:19 +0000 (+0200) Subject: Properly clean up decoder event rules X-Git-Tag: suricata-2.0beta2~308 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=48b5513ed91b3b85449bce7c60fd893efd119b75;p=thirdparty%2Fsuricata.git Properly clean up decoder event rules Addresses: ~~Dr.M~~ Error #3: LEAK 120 direct bytes 0x08a26ac8-0x08a26b40 + 1871 indirect bytes ~~Dr.M~~ # 0 replace_malloc [/work/drmemory_package/common/alloc_replace.c:2292] ~~Dr.M~~ # 1 SigGroupHeadAlloc [/home/victor/dev/oisf/src/detect-engine-siggroup.c:144] ~~Dr.M~~ # 2 SigGroupHeadAppendSig [/home/victor/dev/oisf/src/detect-engine-siggroup.c:1014] ~~Dr.M~~ # 3 DetectEngineAddDecoderEventSig [/home/victor/dev/oisf/src/detect.c:3026] ~~Dr.M~~ # 4 SigAddressPrepareStage2 [/home/victor/dev/oisf/src/detect.c:3075] ~~Dr.M~~ # 5 SigGroupBuild [/home/victor/dev/oisf/src/detect.c:4311] ~~Dr.M~~ # 6 SigLoadSignatures [/home/victor/dev/oisf/src/detect.c:464] ~~Dr.M~~ # 7 LoadSignatures [/home/victor/dev/oisf/src/suricata.c:1706] ~~Dr.M~~ # 8 main [/home/victor/dev/oisf/src/suricata.c:1994] --- diff --git a/src/detect.c b/src/detect.c index b344e42128..5eaf4c80cf 100644 --- a/src/detect.c +++ b/src/detect.c @@ -3867,6 +3867,10 @@ int SigAddressCleanupStage1(DetectEngineCtx *de_ctx) { } } + if (de_ctx->decoder_event_sgh) + SigGroupHeadFree(de_ctx->decoder_event_sgh); + de_ctx->decoder_event_sgh = NULL; + IPOnlyDeinit(de_ctx, &de_ctx->io_ctx); if (!(de_ctx->flags & DE_QUIET)) {