From 67053e6ed000b6c9d8cbebd8f6fee8f4fb1824c0 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Wed, 8 Jan 2014 18:10:16 +0100 Subject: [PATCH] Fix AppLayerProtoDetectPMFreeSignature related valgrind errors --- src/app-layer-detect-proto.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/app-layer-detect-proto.c b/src/app-layer-detect-proto.c index e9e2c637c3..e89ecda0e1 100644 --- a/src/app-layer-detect-proto.c +++ b/src/app-layer-detect-proto.c @@ -1120,7 +1120,10 @@ static int AppLayerProtoDetectPMPrepareMpm(AppLayerProtoDetectPMCtx *ctx) static void AppLayerProtoDetectPMFreeSignature(AppLayerProtoDetectPMSignature *sig) { SCEnter(); - DetectContentFree(sig->cd); + if (sig == NULL) + SCReturn; + if (sig->cd) + DetectContentFree(sig->cd); SCFree(sig); SCReturn; } @@ -1444,8 +1447,8 @@ int AppLayerProtoDetectDeSetup(void) mpm_table[pm_ctx->mpm_ctx.mpm_type].DestroyCtx(pm_ctx->mpm_ctx.ctx); for (id = 0; id < pm_ctx->max_pat_id; id++) { sig = pm_ctx->map[id]; - next_sig = sig->next; while (sig != NULL) { + next_sig = sig->next; AppLayerProtoDetectPMFreeSignature(sig); sig = next_sig; }