From af7e527ff2bd6cdd5868a750a7fea938b6848b91 Mon Sep 17 00:00:00 2001 From: jacekpoz Date: Sun, 8 Sep 2024 16:56:15 +0200 Subject: [PATCH] fix list growing when inintial size is 0 --- src/ptk_list.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ptk_list.c b/src/ptk_list.c index 7a590c5..87547fa 100644 --- a/src/ptk_list.c +++ b/src/ptk_list.c @@ -8,7 +8,9 @@ bool _grow_PtkList(void **data, uint32_t *allocated, size_t element_size) { errno = 0; - void *tmp = realloc(*data, (*allocated * 2) * element_size); + + const size_t new_allocated = *allocated == 0 ? 1 : *allocated * 2; + void *tmp = realloc(*data, new_allocated * element_size); if (errno == ENOMEM || tmp == NULL) { free(*data); @@ -16,7 +18,7 @@ bool _grow_PtkList(void **data, uint32_t *allocated, size_t element_size) { } *data = tmp; - *allocated *= 2; + *allocated = new_allocated; return true; }