From 7ec4aee91076f77d4dcfd0ce7d8c798f62be9c7a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 21 Jun 2026 22:26:49 +1000 Subject: [PATCH] If realloc fails, do not reduce block size --- src/libImaging/Storage.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libImaging/Storage.c b/src/libImaging/Storage.c index ea43c91cebd..eae4c988f89 100644 --- a/src/libImaging/Storage.c +++ b/src/libImaging/Storage.c @@ -384,8 +384,11 @@ memory_return_block(ImagingMemoryArena arena, ImagingMemoryBlock block) { if (arena->blocks_cached < arena->blocks_max) { // Reduce block size if (block.size > arena->block_size) { - block.size = arena->block_size; - block.ptr = realloc(block.ptr, arena->block_size); + char *ptr = realloc(block.ptr, arena->block_size); + if (ptr) { + block.ptr = ptr; + block.size = arena->block_size; + } } arena->blocks_pool[arena->blocks_cached] = block; arena->blocks_cached += 1;