]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
AC: fix memory leak 1295/head
authorVictor Julien <victor@inliniac.net>
Wed, 10 Dec 2014 09:54:22 +0000 (10:54 +0100)
committerVictor Julien <victor@inliniac.net>
Thu, 15 Jan 2015 10:52:26 +0000 (11:52 +0100)
src/util-mpm-ac.c

index 6cf05c1ffcdd98c22b57731a0293f49405611821..c8f6be77a205fc1ffff77688ecdb51ec096b8164 100644 (file)
@@ -218,6 +218,10 @@ static inline void SCACFreePattern(MpmCtx *mpm_ctx, SCACPattern *p)
         mpm_ctx->memory_size -= p->len;
     }
 
+    if (p != NULL && p->sids != NULL) {
+        SCFree(p->sids);
+    }
+
     if (p != NULL) {
         SCFree(p);
         mpm_ctx->memory_cnt--;
@@ -1089,6 +1093,9 @@ int SCACPreparePatterns(MpmCtx *mpm_ctx)
         //SCLogInfo("ctx->parray[i]->sids_size %u", ctx->parray[i]->sids_size);
         ctx->pid_pat_list[ctx->parray[i]->id].sids_size = ctx->parray[i]->sids_size;
         ctx->pid_pat_list[ctx->parray[i]->id].sids = ctx->parray[i]->sids;
+
+        ctx->parray[i]->sids_size = 0;
+        ctx->parray[i]->sids = NULL;
     }
 
     /* prepare the state table required by AC */