summaryrefslogtreecommitdiff
path: root/src/arena.c
diff options
context:
space:
mode:
authorLibravatar Martin Michalec <martin@michalec.dev>2026-02-22 03:12:25 +0000
committerLibravatar Martin Michalec <martin@michalec.dev>2026-02-22 03:12:25 +0000
commit4f92f575c5650058130415329410b1c5171c5554 (patch)
tree5f588d63bdea6d0aea6f9ff8504099a8d3e566b7 /src/arena.c
parentfix size counting bug in arena__coalesce_from_fast (diff)
downloadarena-4f92f575c5650058130415329410b1c5171c5554.tar.gz
improve arena__reserve alignment edge case handling
Diffstat (limited to 'src/arena.c')
-rw-r--r--src/arena.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/arena.c b/src/arena.c
index d02694d..84334d2 100644
--- a/src/arena.c
+++ b/src/arena.c
@@ -74,8 +74,7 @@ arena__reserve (struct cmmm__arena *arena, size_t size, size_t alignment)
74 74
75 if (arena->tail != NULL) { 75 if (arena->tail != NULL) {
76 char *aligned_free = alignto (arena->tail->free, alignment); 76 char *aligned_free = alignto (arena->tail->free, alignment);
77 ASSERT (aligned_free - arena->tail->end >= 0); 77 if (arena->tail->end - aligned_free >= (ssize_t) size)
78 if ((size_t) (aligned_free - arena->tail->end) >= size)
79 return aligned_free; 78 return aligned_free;
80 } 79 }
81 80