Signed-off-by: Qiumiao Zhang <zhangqiumiao1@huawei.com> (cherry picked from commit c141a13130da5dca205b607533751a6ba6c9581e)
37 lines
1.0 KiB
Diff
37 lines
1.0 KiB
Diff
From d13b6e8ebd10b4eb16698a002aa40258cf6e6f0e 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 65/73] 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>
|
|
---
|
|
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.33.0
|
|
|