diff --git a/src/mem/address_space.h b/src/mem/address_space.h index 1553053..6430ce7 100644 --- a/src/mem/address_space.h +++ b/src/mem/address_space.h @@ -103,8 +103,10 @@ namespace snmalloc CapPtr bigger = remove_block(align_bits + 1); if (bigger != nullptr) { - auto left_over = pointer_offset(bigger, bits::one_at_bit(align_bits)); - ranges[align_bits][0] = left_over; + size_t left_over_size = bits::one_at_bit(align_bits); + auto left_over = pointer_offset(bigger, left_over_size); + ranges[align_bits][0] = + Aal::capptr_bound(left_over, left_over_size); check_block(left_over, align_bits); } check_block(bigger, align_bits + 1);