grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] loongarch: Avoid undefined behavior when popping from an emp


From: Xiaotian Wu
Subject: Re: [PATCH] loongarch: Avoid undefined behavior when popping from an empty reloc stack
Date: Thu, 18 May 2023 11:07:11 +0800
User-agent: Evolution 3.46.4

LGTM, thank you.

在 2023-05-18星期四的 10:52 +0800,WANG Xuerui写道:
> The return value of grub_loongarch64_stack_pop is unsigned, so -1
> should
> not be used in the first place. Replacing with 0 is enough to avoid
> the
> UB in this edge case.
> 
> Technically though, proper error handling is needed throughout the
> management of the reloc stack, so no unexpected behavior will happen
> even in case of malformed object code input (right now, pushes become
> no-ops when the stack is full, and garbage results if the stack does
> not
> contain enough operands for an op). The refactor would touch some
> more
> places so would be best done in a separate series.
> 
> Fixes: CID 407777
> Fixes: CID 407778
> 
> Signed-off-by: WANG Xuerui <git@xen0n.name>
> ---
>  grub-core/kern/loongarch64/dl_helper.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/grub-core/kern/loongarch64/dl_helper.c b/grub-
> core/kern/loongarch64/dl_helper.c
> index e8ec1219f..cda1a53c8 100644
> --- a/grub-core/kern/loongarch64/dl_helper.c
> +++ b/grub-core/kern/loongarch64/dl_helper.c
> @@ -46,7 +46,7 @@ static grub_uint64_t
>  grub_loongarch64_stack_pop (grub_loongarch64_stack_t stack)
>  {
>    if (stack->top == -1)
> -    return -1;
> +    return 0;
>    return stack->data[stack->top--];
>  }
>  

-- 
Best Regards
Xiaotian Wu




reply via email to

[Prev in Thread] Current Thread [Next in Thread]