detect: clean up sgh's at detect engine free

pull/1980/head
Victor Julien 10 years ago
parent 1f7e33a4b0
commit e6248b0dbe

@ -3943,6 +3943,19 @@ int SigAddressCleanupStage1(DetectEngineCtx *de_ctx)
de_ctx->flow_gh[f].udp = NULL;
}
uint32_t idx;
for (idx = 0; idx < de_ctx->sgh_array_cnt; idx++) {
SigGroupHead *sgh = de_ctx->sgh_array[idx];
if (sgh == NULL)
continue;
SCLogDebug("sgh %p", sgh);
SigGroupHeadFree(sgh);
}
SCFree(de_ctx->sgh_array);
de_ctx->sgh_array = NULL;
de_ctx->sgh_array_cnt = 0;
de_ctx->sgh_array_size = 0;
IPOnlyDeinit(de_ctx, &de_ctx->io_ctx);
@ -4019,6 +4032,8 @@ int SigAddressPrepareStage4(DetectEngineCtx *de_ctx)
if (sgh == NULL)
continue;
SCLogDebug("sgh %p", sgh);
SigGroupHeadSetFilemagicFlag(de_ctx, sgh);
SigGroupHeadSetFileMd5Flag(de_ctx, sgh);
SigGroupHeadSetFilesizeFlag(de_ctx, sgh);
@ -4051,10 +4066,6 @@ int SigAddressPrepareStage4(DetectEngineCtx *de_ctx)
SigGroupHeadHashFree(de_ctx);
SigGroupHeadDPortHashFree(de_ctx);
SCFree(de_ctx->sgh_array);
de_ctx->sgh_array_cnt = 0;
de_ctx->sgh_array_size = 0;
RulesDumpGrouping(de_ctx);
SCReturnInt(0);

Loading…
Cancel
Save