]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
Properly clean up decoder event rules
authorVictor Julien <victor@inliniac.net>
Fri, 27 Sep 2013 12:59:19 +0000 (14:59 +0200)
committerVictor Julien <victor@inliniac.net>
Fri, 27 Sep 2013 12:59:19 +0000 (14:59 +0200)
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

index b344e42128033f96e8b01507b10c5ccb577e01c0..5eaf4c80cfe78341502d7dcc6ed6951dd29e9b02 100644 (file)
@@ -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)) {