diff --git a/src/main.rs b/src/main.rs index f812228873..1c2f96b3c5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -138,10 +138,10 @@ impl SlabAllocator { let mut area_offset = offset; for area in areas.iter() { if area_offset < area.size { - area_offset = 0; - let area_base = area.base.add(offset); - let area_size = area.size - offset; + let area_base = area.base.add(area_offset); + let area_size = area.size - area_offset; allocator.free(area_base, area_size); + area_offset = 0; } else { area_offset -= area.size; } @@ -310,10 +310,10 @@ impl BuddyAllocator { let mut area_offset = bump_allocator.offset; for area in areas.iter() { if area_offset < area.size { - area_offset = 0; - let area_base = area.base.add(offset); - let area_size = area.size - offset; + let area_base = area.base.add(area_offset); + let area_size = area.size - area_offset; allocator.free(area_base, area_size); + area_offset = 0; } else { area_offset -= area.size; }