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.
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;
}
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++;