]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
Correct size increase in SigGroupHeadStore()
authorKen Steele <ken@tilera.com>
Wed, 5 Nov 2014 20:07:06 +0000 (15:07 -0500)
committerVictor Julien <victor@inliniac.net>
Thu, 27 Nov 2014 15:20:48 +0000 (16:20 +0100)
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

index 1a6cdcb9781551d828b5b3f6aee8875fa1858d7b..9c41831e07b71c1a40df31bfb631acda42b5d9fc 100644 (file)
@@ -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++;