From 790866656b90d365383e035b7649305cc63a314c Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Mon, 16 Sep 2013 17:13:02 +0200 Subject: [PATCH] Coverity 1038129 fix Don't leak memory on malloc error in b2gm mpm implementation. --- src/util-mpm-b2gm.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) 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,