mirror of
https://github.com/GrapheneOS/hardened_malloc.git
synced 2024-12-11 17:04:32 -05:00
fix loop exit condition boundary for get_free_slot
This commit is contained in:
parent
3c0a448c3e
commit
7798b2693e
6
malloc.c
6
malloc.c
@ -221,7 +221,7 @@ static size_t get_free_slot(struct random_state *rng, size_t slots, struct slab_
|
|||||||
unsigned first_bitmap = random_index / 64;
|
unsigned first_bitmap = random_index / 64;
|
||||||
u64 random_split = ~(~0UL << (random_index - first_bitmap * 64));
|
u64 random_split = ~(~0UL << (random_index - first_bitmap * 64));
|
||||||
|
|
||||||
for (unsigned i = first_bitmap; i <= slots / 64; i++) {
|
for (unsigned i = first_bitmap; i <= (slots - 1) / 64; i++) {
|
||||||
u64 masked = metadata->bitmap[i];
|
u64 masked = metadata->bitmap[i];
|
||||||
if (i == slots / 64) {
|
if (i == slots / 64) {
|
||||||
masked |= get_mask(slots - i * 64);
|
masked |= get_mask(slots - i * 64);
|
||||||
@ -239,9 +239,9 @@ static size_t get_free_slot(struct random_state *rng, size_t slots, struct slab_
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (unsigned i = 0; i <= slots / 64; i++) {
|
for (unsigned i = 0; i <= (slots - 1) / 64; i++) {
|
||||||
u64 masked = metadata->bitmap[i];
|
u64 masked = metadata->bitmap[i];
|
||||||
if (i == slots / 64) {
|
if (i == (slots - 1) / 64) {
|
||||||
masked |= get_mask(slots - i * 64);
|
masked |= get_mask(slots - i * 64);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user