12345678910111213141516171819202122232425262728293031323334353637 |
- From 6cb70802581222ba80a37c3e2fd4b8357a859dad Mon Sep 17 00:00:00 2001
- From: Lidong Chen <lidong.chen@oracle.com>
- Date: Wed, 29 Jan 2025 06:48:37 +0000
- Subject: [PATCH] script/execute: Fix potential underflow and NULL dereference
- The result is initialized to 0 in grub_script_arglist_to_argv().
- If the for loop condition is not met both result.args and result.argc
- remain 0 causing result.argc - 1 to underflow and/or result.args NULL
- dereference. Fix the issues by adding relevant checks.
- Fixes: CID 473880
- Signed-off-by: Lidong Chen <lidong.chen@oracle.com>
- Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
- Upstream: d13b6e8ebd10b4eb16698a002aa40258cf6e6f0e
- Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
- ---
- grub-core/script/execute.c | 3 +++
- 1 file changed, 3 insertions(+)
- diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c
- index e1450f45d..a86e0051f 100644
- --- a/grub-core/script/execute.c
- +++ b/grub-core/script/execute.c
- @@ -760,6 +760,9 @@ cleanup:
- }
- }
-
- + if (result.args == NULL || result.argc == 0)
- + goto fail;
- +
- if (! result.args[result.argc - 1])
- result.argc--;
-
- --
- 2.50.1
|