From 48b5513ed91b3b85449bce7c60fd893efd119b75 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Fri, 27 Sep 2013 14:59:19 +0200 Subject: [PATCH] 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] --- src/detect.c | 4 ++++ 1 file changed, 4 insertions(+) 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)) { -- 2.47.3