From: David Given Date: Thu, 15 Dec 2016 23:01:21 +0000 (+0100) Subject: Fix an embarrassing but safe mistake where 3x the space was being allocated for X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=e4ac2d305ebc2604cf7ca75294f1e666c07ae95d;p=ack.git Fix an embarrassing but safe mistake where 3x the space was being allocated for arrays. --- diff --git a/modules/src/data/array.c b/modules/src/data/array.c index 330944605..363e60373 100644 --- a/modules/src/data/array.c +++ b/modules/src/data/array.c @@ -9,10 +9,10 @@ static void extend(struct array* array) if (array->count == array->max) { int newmax = (array->max == 0) ? 8 : (array->max * 2); - struct array* newarray = realloc(array->item, newmax * sizeof(*newarray)); + void** newarray = realloc(array->item, newmax * sizeof(void*)); array->max = newmax; - array->item = newarray; + array->item = newarray; } } @@ -57,7 +57,7 @@ void array_insert(void* arrayp, void* value, int before) extend(array); memmove(&array->item[before+1], &array->item[before], - (array->count-before) * sizeof(*array)); + (array->count-before) * sizeof(void*)); array->item[before] = value; array->count++; }