From ff41c1c452cdc88eed329c57f40f759cc25c4a96 Mon Sep 17 00:00:00 2001 From: Ken Steele Date: Wed, 5 Nov 2014 15:07:06 -0500 Subject: [PATCH] Correct size increase in SigGroupHeadStore() The code was increasing the size of the allocated memory by 16, but only increasing the stored size by 10. Now uses one variable for both places. --- src/detect-engine-siggroup.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/detect-engine-siggroup.c b/src/detect-engine-siggroup.c index 1a6cdcb978..9c41831e07 100644 --- a/src/detect-engine-siggroup.c +++ b/src/detect-engine-siggroup.c @@ -125,8 +125,9 @@ void SigGroupHeadStore(DetectEngineCtx *de_ctx, SigGroupHead *sgh) if (de_ctx->sgh_array_cnt < de_ctx->sgh_array_size) { de_ctx->sgh_array[de_ctx->sgh_array_cnt] = sgh; } else { + int increase = 16; ptmp = SCRealloc(de_ctx->sgh_array, - sizeof(SigGroupHead *) * (16 + de_ctx->sgh_array_size)); + sizeof(SigGroupHead *) * (increase + de_ctx->sgh_array_size)); if (ptmp == NULL) { SCFree(de_ctx->sgh_array); de_ctx->sgh_array = NULL; @@ -134,7 +135,7 @@ void SigGroupHeadStore(DetectEngineCtx *de_ctx, SigGroupHead *sgh) } de_ctx->sgh_array = ptmp; - de_ctx->sgh_array_size += 10; + de_ctx->sgh_array_size += increase; de_ctx->sgh_array[de_ctx->sgh_array_cnt] = sgh; } de_ctx->sgh_array_cnt++;