]> 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)
committerJeff Lucovsky <jeff@lucovsky.org>
Thu, 16 Apr 2020 15:44:33 +0000 (11:44 -0400)
(cherry picked from commit fc6ada85411caa9c08df3eae1cc908436a4ea257)

src/detect-parse.c

index 8c10e0dc3f271625f7bd2378813ca95fd31aacb1..3c185588ad43ec792f84d3f2b0f809681d893b69 100644 (file)
@@ -2339,8 +2339,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;
 }