]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
ipproto: fix memleak in error case
authorVictor Julien <victor@inliniac.net>
Tue, 23 Oct 2018 12:10:18 +0000 (14:10 +0200)
committerVictor Julien <victor@inliniac.net>
Thu, 1 Nov 2018 14:46:10 +0000 (15:46 +0100)
src/detect-ipproto.c

index 0eba42e6ca8778e46964e6bad1a58bafc1a2e2ed..f641f4520d519a811d2efbc5a3782c5a2deffd76 100644 (file)
@@ -184,12 +184,11 @@ static int DetectIPProtoTypePresentForOP(Signature *s, uint8_t op)
 static int DetectIPProtoSetup(DetectEngineCtx *de_ctx, Signature *s, const char *optstr)
 {
     SigMatch *sm = NULL;
-    DetectIPProtoData *data = NULL;
     int i;
 
-    data = DetectIPProtoParse(optstr);
+    DetectIPProtoData *data = DetectIPProtoParse(optstr);
     if (data == NULL) {
-        goto error;
+        return -1;
     }
 
     /* Reset our "any" (or "ip") state: for ipv4, ipv6 and ip cases, the bitfield
@@ -422,6 +421,7 @@ static int DetectIPProtoSetup(DetectEngineCtx *de_ctx, Signature *s, const char
 
  error:
 
+    DetectIPProtoFree(data);
     return -1;
 }