Skip to content

Commit d7f9142

Browse files
authored
Berry fix POOL32 pointer comparison (#23468)
1 parent 553ee44 commit d7f9142

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

lib/libesp32/berry/src/be_mem.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ static void free_from_pool(bvm *vm, void* ptr, size_t old_size) {
270270
while (pool16) {
271271
int32_t offset = (uint8_t*)ptr - (uint8_t*) &pool16->lines[0];
272272
// serial_debug("free_from_pool ptr=%p pool=%p offset=%i\n", ptr,pool16, offset);
273-
if ((offset >= 0) && (offset < POOL16_SLOTS*16) && ((offset & 0x0F) == 0)) {
273+
if ((offset >= 0) && (offset < POOL16_SLOTS*POOL16_SIZE) && ((offset & 0x0F) == 0)) {
274274
int bit = offset >> 4;
275275
// serial_debug("free_from_pool ptr=%p fond pool=%p bit=%i\n", ptr, pool16, bit);
276276
// bitSet(pool16->bitmap, bit);
@@ -285,7 +285,7 @@ static void free_from_pool(bvm *vm, void* ptr, size_t old_size) {
285285
while (pool32) {
286286
int32_t offset = (uint8_t*)ptr - (uint8_t*) &pool32->lines[0];
287287
// serial_debug("free_from_pool pool=%p offset=%i\n", pool32, offset);
288-
if ((offset >= 0) && (offset < POOL16_SLOTS*16) && ((offset & 0x1F) == 0)) {
288+
if ((offset >= 0) && (offset < POOL32_SLOTS*POOL32_SIZE) && ((offset & 0x1F) == 0)) {
289289
int bit = offset >> 5;
290290
// serial_debug("free_from_pool ptr=%p fond pool=%p bit=%i\n", ptr, pool32, bit);
291291
// bitSet(pool32->bitmap, bit);

0 commit comments

Comments
 (0)