diff options
| author | 2026-02-22 03:12:25 +0000 | |
|---|---|---|
| committer | 2026-02-22 03:12:25 +0000 | |
| commit | 4f92f575c5650058130415329410b1c5171c5554 (patch) | |
| tree | 5f588d63bdea6d0aea6f9ff8504099a8d3e566b7 /src | |
| parent | fix size counting bug in arena__coalesce_from_fast (diff) | |
| download | arena-4f92f575c5650058130415329410b1c5171c5554.tar.gz | |
improve arena__reserve alignment edge case handling
Diffstat (limited to 'src')
| -rw-r--r-- | src/arena.c | 3 |
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 | ||
