]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
Fix AppLayerProtoDetectPMFreeSignature related valgrind errors
authorVictor Julien <victor@inliniac.net>
Wed, 8 Jan 2014 17:10:16 +0000 (18:10 +0100)
committerVictor Julien <victor@inliniac.net>
Fri, 10 Jan 2014 10:53:40 +0000 (11:53 +0100)
src/app-layer-detect-proto.c

index e9e2c637c33b0b7baf95e07d947bca2f6e99036e..e89ecda0e175651acd92a936e18ca18208a6efa8 100644 (file)
@@ -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;
                 }