From: Ken Steele Date: Wed, 5 Nov 2014 20:07:06 +0000 (-0500) Subject: Correct size increase in SigGroupHeadStore() X-Git-Tag: suricata-2.1beta3~141 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ff41c1c452cdc88eed329c57f40f759cc25c4a96;p=thirdparty%2Fsuricata.git 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. --- 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++;