From: Michael Ellerman Date: Thu, 29 Feb 2024 11:51:49 +0000 (+1100) Subject: powerpc/boot: Only free if realloc() succeeds X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=f2d5bccaca3e8c09c9b9c8485375f7bdbb2631d2;p=linux.git powerpc/boot: Only free if realloc() succeeds simple_realloc() frees the original buffer (ptr) even if the reallocation failed. Fix it to behave like standard realloc() and only free the original buffer if the reallocation succeeded. Signed-off-by: Michael Ellerman Link: https://msgid.link/20240229115149.749264-1-mpe@ellerman.id.au --- diff --git a/arch/powerpc/boot/simple_alloc.c b/arch/powerpc/boot/simple_alloc.c index db9aaa5face3f..d07796fdf91aa 100644 --- a/arch/powerpc/boot/simple_alloc.c +++ b/arch/powerpc/boot/simple_alloc.c @@ -112,10 +112,11 @@ static void *simple_realloc(void *ptr, unsigned long size) return ptr; new = simple_malloc(size); - if (new) + if (new) { memcpy(new, ptr, p->size); + simple_free(ptr); + } - simple_free(ptr); return new; }