detect-iprep: fix memory leaks

Loading rules with iprep keyword cause
memory leaks due to missing frees.

Direct leak of 8 byte(s) in 4 object(s) allocated from:
    #0 0x7f81c862bd28 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.3+0xc1d28)
    #1 0x7f81c6afea69 in pcre_get_substring (/lib/x86_64-linux-gnu/libpcre.so.3+0x27a69)
    #2 0x43206f7420676e68  (<unknown module>)

SUMMARY: AddressSanitizer: 8 byte(s) leaked in 4 allocation(s).
pull/3735/head
Giuseppe Longo 8 years ago committed by Victor Julien
parent 58b804f7d2
commit 389227d899

@ -341,6 +341,10 @@ int DetectIPRepSetup (DetectEngineCtx *de_ctx, Signature *s, const char *rawstr)
name = NULL;
pcre_free_substring(cmd_str);
cmd_str = NULL;
pcre_free_substring(op_str);
op_str = NULL;
pcre_free_substring(value);
value = NULL;
/* Okay so far so good, lets get this into a SigMatch
* and put it in the Signature. */
@ -360,6 +364,10 @@ error:
pcre_free_substring(name);
if (cmd_str != NULL)
pcre_free_substring(cmd_str);
if (op_str != NULL)
pcre_free_substring(op_str);
if (value != NULL)
pcre_free_substring(value);
if (cd != NULL)
SCFree(cd);
if (sm != NULL)

Loading…
Cancel
Save