]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
detect/parse: properly free bidir sigs in error path
authorVictor Julien <victor@inliniac.net>
Fri, 10 Apr 2020 08:02:43 +0000 (10:02 +0200)
committerVictor Julien <victor@inliniac.net>
Fri, 10 Apr 2020 08:07:27 +0000 (10:07 +0200)
src/detect-parse.c

index 457d1b8aaa1e84ff18c338c05c2f237f43e22a15..b3813d22d30552bedeb20cd4be14be9ea981dfff 100644 (file)
@@ -2354,8 +2354,14 @@ Signature *DetectEngineAppendSig(DetectEngineCtx *de_ctx, const char *sigstr)
     return (dup_sig == 0 || dup_sig == 2) ? sig : NULL;
 
 error:
-    if (sig != NULL)
+    /* free the 2nd sig bidir may have set up */
+    if (sig != NULL && sig->next != NULL) {
+        SigFree(sig->next);
+        sig->next = NULL;
+    }
+    if (sig != NULL) {
         SigFree(sig);
+    }
     return NULL;
 }