Skip to content

Commit c52c610

Browse files
committed
change arena_next overflow check to an assert
1 parent b814342 commit c52c610

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

Objects/obmalloc.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2962,7 +2962,11 @@ arena_map_mark_used(uintptr_t arena_base, int is_used)
29622962
*/
29632963
n_hi->arenas[i3].tail_hi = is_used ? tail : 0;
29642964
uintptr_t arena_next = arena_base + ARENA_SIZE;
2965-
/* check for overflow of arena_next */
2965+
/* If arena_base is a legit arena address, so is arena_next - 1
2966+
* (last address in arena). If arena_next overflows then it
2967+
* must overflow to 0. However, that would mean arena_base was
2968+
* "ideal" and we should not be in this case. */
2969+
assert(arena_base < arena_next);
29662970
if (arena_next > arena_base) {
29672971
arena_map3_t *n_lo = arena_map_get((block *)arena_next, is_used);
29682972
if (n_lo == NULL) {

0 commit comments

Comments
 (0)