Skip to content

Commit

Permalink
detect-iprep: fix memory leaks
Browse files Browse the repository at this point in the history
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).
  • Loading branch information
glongo authored and victorjulien committed Mar 14, 2019
1 parent 58b804f commit 389227d
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions src/detect-iprep.c
Original file line number Diff line number Diff line change
Expand Up @@ -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. */
Expand All @@ -360,6 +364,10 @@ int DetectIPRepSetup (DetectEngineCtx *de_ctx, Signature *s, const char *rawstr)
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)
Expand Down

0 comments on commit 389227d

Please sign in to comment.