aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tinyalloc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/tinyalloc.c b/tinyalloc.c
index 1c53567..ba3f916 100644
--- a/tinyalloc.c
+++ b/tinyalloc.c
@@ -287,7 +287,9 @@ void *ta_realloc(void *ptr, size_t n) {
if (!new)
return NULL;
- for (size_t i = 0; i < prev->size; i++)
+ const size_t size = n > prev->size ? prev->size : n;
+
+ for (size_t i = 0; i < size; i++)
*p++ = *src++;
ta_free(prev->addr);