From: Victor Julien Date: Fri, 20 Oct 2017 07:50:59 +0000 (+0200) Subject: detect: fix port parsing memory leak X-Git-Tag: suricata-4.0.2~31 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1729ab7d946771db645f7bffb552e60278b066b7;p=thirdparty%2Fsuricata.git detect: fix port parsing memory leak Leak in error path as seen by scan-build: CC detect-engine-port.o detect-engine-port.c:1083:13: warning: Potential leak of memory pointed to by 'temp_rule_var_port' return -1; ^ --- diff --git a/src/detect-engine-port.c b/src/detect-engine-port.c index db0ab8354f..72f28c599e 100644 --- a/src/detect-engine-port.c +++ b/src/detect-engine-port.c @@ -977,9 +977,10 @@ static int DetectPortParseDo(const DetectEngineCtx *de_ctx, temp_rule_var_port = alloc_rule_var_port; r = DetectPortParseDo(de_ctx, head, nhead, temp_rule_var_port, (negate + n_set) % 2, var_list);//negate? negate: n_set); - if (r == -1) + if (r == -1) { + SCFree(alloc_rule_var_port); goto error; - + } d_set = 0; n_set = 0; SCFree(alloc_rule_var_port);