]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
port: don't lead memory on port parsing failure
authorVictor Julien <victor@inliniac.net>
Mon, 9 Dec 2013 20:19:11 +0000 (21:19 +0100)
committerVictor Julien <victor@inliniac.net>
Mon, 9 Dec 2013 20:19:11 +0000 (21:19 +0100)
[src/detect-engine-port.c:1354]: (error) Memory leak: gh

src/detect-engine-port.c

index 4bd51d9163d89b3932a79fc44a13ebc988b85318..257118d5584c7a32b531df5f33e0bb51291d367c 100644 (file)
@@ -1326,11 +1326,13 @@ int DetectPortTestConfVars(void)
                        "Port var \"%s\" probably has a sequence(something "
                        "in brackets) value set without any quotes. Please "
                        "quote it using \"..\".", seq_node->name);
+            DetectPortCleanupList(gh);
             goto error;
         }
 
         int r = DetectPortParseDo(&gh, &ghn, seq_node->val, /* start with negate no */0);
         if (r < 0) {
+            DetectPortCleanupList(gh);
             goto error;
         }
 
@@ -1340,6 +1342,8 @@ int DetectPortTestConfVars(void)
                        "with it's value \"%s\".  Port space range is NIL. "
                        "Probably have a !any or a port range that supplies "
                        "a NULL address range", seq_node->name, seq_node->val);
+            DetectPortCleanupList(gh);
+            DetectPortCleanupList(ghn);
             goto error;
         }