]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
detect: fix small mem leak on duplicate sigs 1968/head
authorVictor Julien <victor@inliniac.net>
Wed, 30 Mar 2016 07:39:46 +0000 (09:39 +0200)
committerVictor Julien <victor@inliniac.net>
Wed, 30 Mar 2016 07:42:50 +0000 (09:42 +0200)
Direct leak of 80 byte(s) in 5 object(s) allocated from:
    #0 0x4c673b in __interceptor_malloc (/home/victor/dev/suricata/src/suricata+0x4c673b)
    #1 0xb7a425 in DetectEngineSignatureIsDuplicate /home/victor/dev/suricata/src/detect-parse.c:1715:10
    #2 0xb79390 in DetectEngineAppendSig /home/victor/dev/suricata/src/detect-parse.c:1836:19
    #3 0x86fe56 in DetectLoadSigFile /home/victor/dev/suricata/src/detect.c:357:15
    #4 0x815fee in ProcessSigFiles /home/victor/dev/suricata/src/detect.c:419:13
    #5 0x8139a8 in SigLoadSignatures /home/victor/dev/suricata/src/detect.c:499:15
    #6 0xfe435d in LoadSignatures /home/victor/dev/suricata/src/suricata.c:1979:9
    #7 0xfcd87e in main /home/victor/dev/suricata/src/suricata.c:2345:17
    #8 0x7fb66bf7cec4 in __libc_start_main /build/eglibc-3GlaMS/eglibc-2.19/csu/libc-start.c:287

src/detect-parse.c

index f451c5c87ecba0894e9dcdb0edbff4cf2bc97095..54035d2e090c86590fcdabe8bc1d6a52fb480893 100644 (file)
@@ -1749,6 +1749,8 @@ static inline int DetectEngineSignatureIsDuplicate(DetectEngineCtx *de_ctx,
      * and discard the other one */
     if (sw->s->rev <= sw_dup->s->rev) {
         ret = 1;
+        SCFree(sw);
+        sw = NULL;
         goto end;
     }