From: Victor Julien Date: Mon, 10 Mar 2014 11:39:19 +0000 (+0100) Subject: Fix live reload X-Git-Tag: suricata-2.0rc3~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F883%2Fhead;p=thirdparty%2Fsuricata.git Fix live reload Fix memsets clearing out of bounds memory on live reload, causing crashes and corrupted backtraces. Bug #1128. --- diff --git a/src/detect-engine.c b/src/detect-engine.c index c35786d36d..92526582ca 100644 --- a/src/detect-engine.c +++ b/src/detect-engine.c @@ -499,9 +499,9 @@ static void *DetectEngineLiveRuleSwap(void *arg) DetectEngineThreadCtx *old_det_ctx[no_of_detect_tvs]; DetectEngineThreadCtx *new_det_ctx[no_of_detect_tvs]; ThreadVars *detect_tvs[no_of_detect_tvs]; - memset(old_det_ctx, 0x00, (no_of_detect_tvs * sizeof(DetectEngineThreadCtx))); - memset(new_det_ctx, 0x00, (no_of_detect_tvs * sizeof(DetectEngineThreadCtx))); - memset(detect_tvs, 0x00, (no_of_detect_tvs * sizeof(ThreadVars))); + memset(old_det_ctx, 0x00, (no_of_detect_tvs * sizeof(DetectEngineThreadCtx *))); + memset(new_det_ctx, 0x00, (no_of_detect_tvs * sizeof(DetectEngineThreadCtx *))); + memset(detect_tvs, 0x00, (no_of_detect_tvs * sizeof(ThreadVars *))); SCMutexUnlock(&tv_root_lock);