]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
mpm/hs: fix scan-build warning
authorVictor Julien <vjulien@oisf.net>
Fri, 21 Apr 2023 08:59:19 +0000 (10:59 +0200)
committerVictor Julien <vjulien@oisf.net>
Tue, 25 Apr 2023 09:36:37 +0000 (11:36 +0200)
util-mpm-hs.c:340:20: warning: Potential leak of memory pointed to by 'p' [unix.Malloc]
        p->sids[0] = sid;
        ~~~~~~~~~~~^~~~~
1 warning generated.

Incorrect error handling could lead to a memory leak.

(cherry picked from commit ec84ba1a3c981108af4613fa16d5f13cc19e1f1d)

src/util-mpm-hs.c

index 9ad204456f96de2895b28bbcf9533252bcd832af..dcdb1a9300ecd6b7bc9c9a86c8951b070f4c3a68 100644 (file)
@@ -230,7 +230,7 @@ static inline int SCHSInitHashAdd(SCHSCtx *ctx, SCHSPattern *p)
     uint32_t hash = SCHSInitHash(p);
 
     if (ctx->init_hash == NULL) {
-        return 0;
+        return -1;
     }
 
     if (ctx->init_hash[hash] == NULL) {
@@ -308,7 +308,8 @@ static int SCHSAddPattern(MpmCtx *mpm_ctx, uint8_t *pat, uint16_t patlen,
         memcpy(p->original_pat, pat, patlen);
 
         /* put in the pattern hash */
-        SCHSInitHashAdd(ctx, p);
+        if (SCHSInitHashAdd(ctx, p) != 0)
+            goto error;
 
         mpm_ctx->pattern_cnt++;