Coverity 1038129 fix

Don't leak memory on malloc error in b2gm mpm implementation.
pull/552/head
Victor Julien 12 years ago
parent 33919559d0
commit 790866656b

@ -280,7 +280,7 @@ static int B2gmAddPattern(MpmCtx *mpm_ctx, uint8_t *pat, uint16_t patlen, uint16
B2gmPattern *p = B2gmAllocPattern(mpm_ctx); B2gmPattern *p = B2gmAllocPattern(mpm_ctx);
if (p == NULL) if (p == NULL)
goto error; return -1;
p->len = patlen; p->len = patlen;
p->flags = flags; 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 */ /* setup the case insensitive part of the pattern */
p->pat = SCMalloc(patlen); p->pat = SCMalloc(patlen);
if (p->pat == NULL) if (p->pat == NULL) {
goto error; B2gmFreePattern(mpm_ctx, p);
return -1;
}
mpm_ctx->memory_cnt++; mpm_ctx->memory_cnt++;
mpm_ctx->memory_size += patlen; mpm_ctx->memory_size += patlen;
@ -326,10 +328,6 @@ static int B2gmAddPattern(MpmCtx *mpm_ctx, uint8_t *pat, uint16_t patlen, uint16
} }
return 0; return 0;
error:
B2gmFreePattern(mpm_ctx, p);
return -1;
} }
int B2gmAddPatternCI(MpmCtx *mpm_ctx, uint8_t *pat, uint16_t patlen, int B2gmAddPatternCI(MpmCtx *mpm_ctx, uint8_t *pat, uint16_t patlen,

Loading…
Cancel
Save