boot: simple_alloc: check after increasing memory allocation

Message ID 20221219021816.3012-1-zeming@nfschina.com
State New
Headers
Series boot: simple_alloc: check after increasing memory allocation |

Commit Message

Li zeming Dec. 19, 2022, 2:18 a.m. UTC
  The pointer new adds judgment and should help with program robustness.

Signed-off-by: Li zeming <zeming@nfschina.com>
---
 arch/powerpc/boot/simple_alloc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
  

Comments

Christophe Leroy Dec. 19, 2022, 6:42 a.m. UTC | #1
Le 19/12/2022 à 03:18, Li zeming a écrit :
> The pointer new adds judgment and should help with program robustness.

This text is not understandable.

Do you mean:

simple_malloc() will return NULL when there is now enough memory left.
Check pointer 'new' before using it to copy the old data.

> 
> Signed-off-by: Li zeming <zeming@nfschina.com>
> ---
>   arch/powerpc/boot/simple_alloc.c | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/powerpc/boot/simple_alloc.c b/arch/powerpc/boot/simple_alloc.c
> index 267d6524caac..db9aaa5face3 100644
> --- a/arch/powerpc/boot/simple_alloc.c
> +++ b/arch/powerpc/boot/simple_alloc.c
> @@ -112,7 +112,9 @@ static void *simple_realloc(void *ptr, unsigned long size)
>   		return ptr;
>   
>   	new = simple_malloc(size);
> -	memcpy(new, ptr, p->size);
> +	if (new)
> +		memcpy(new, ptr, p->size);
> +
>   	simple_free(ptr);
>   	return new;
>   }
  

Patch

diff --git a/arch/powerpc/boot/simple_alloc.c b/arch/powerpc/boot/simple_alloc.c
index 267d6524caac..db9aaa5face3 100644
--- a/arch/powerpc/boot/simple_alloc.c
+++ b/arch/powerpc/boot/simple_alloc.c
@@ -112,7 +112,9 @@  static void *simple_realloc(void *ptr, unsigned long size)
 		return ptr;
 
 	new = simple_malloc(size);
-	memcpy(new, ptr, p->size);
+	if (new)
+		memcpy(new, ptr, p->size);
+
 	simple_free(ptr);
 	return new;
 }