From: Victor Julien Date: Mon, 16 Sep 2013 15:13:02 +0000 (+0200) Subject: Coverity 1038129 fix X-Git-Tag: suricata-2.0beta2~364 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=790866656b90d365383e035b7649305cc63a314c;p=thirdparty%2Fsuricata.git Coverity 1038129 fix Don't leak memory on malloc error in b2gm mpm implementation. --- diff --git a/src/util-mpm-b2gm.c b/src/util-mpm-b2gm.c index 649b3ec5a6..4e7c828e9d 100644 --- a/src/util-mpm-b2gm.c +++ b/src/util-mpm-b2gm.c @@ -280,7 +280,7 @@ static int B2gmAddPattern(MpmCtx *mpm_ctx, uint8_t *pat, uint16_t patlen, uint16 B2gmPattern *p = B2gmAllocPattern(mpm_ctx); if (p == NULL) - goto error; + return -1; p->len = patlen; p->flags = flags; @@ -288,8 +288,10 @@ static int B2gmAddPattern(MpmCtx *mpm_ctx, uint8_t *pat, uint16_t patlen, uint16 /* setup the case insensitive part of the pattern */ p->pat = SCMalloc(patlen); - if (p->pat == NULL) - goto error; + if (p->pat == NULL) { + B2gmFreePattern(mpm_ctx, p); + return -1; + } mpm_ctx->memory_cnt++; mpm_ctx->memory_size += patlen; @@ -326,10 +328,6 @@ static int B2gmAddPattern(MpmCtx *mpm_ctx, uint8_t *pat, uint16_t patlen, uint16 } return 0; - -error: - B2gmFreePattern(mpm_ctx, p); - return -1; } int B2gmAddPatternCI(MpmCtx *mpm_ctx, uint8_t *pat, uint16_t patlen,