46 lines
1.3 KiB
Diff
46 lines
1.3 KiB
Diff
|
|
From 3b75201b76a8b728fc3680be92f7391f75096013 Mon Sep 17 00:00:00 2001
|
||
|
|
From: Darren Kenny <darren.kenny@oracle.com>
|
||
|
|
Date: Fri, 23 Oct 2020 09:49:59 +0000
|
||
|
|
Subject: [PATCH] kern/partition: Check for NULL before dereferencing input
|
||
|
|
string
|
||
|
|
|
||
|
|
There is the possibility that the value of str comes from an external
|
||
|
|
source and continuing to use it before ever checking its validity is
|
||
|
|
wrong. So, needs fixing.
|
||
|
|
|
||
|
|
Additionally, drop unneeded part initialization.
|
||
|
|
|
||
|
|
Fixes: CID 292444
|
||
|
|
|
||
|
|
Reference: http://git.savannah.gnu.org/cgit/grub.git/commit/?id=bc9c468a2ce84bc767234eec888b71f1bc744fff
|
||
|
|
|
||
|
|
Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
|
||
|
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||
|
|
---
|
||
|
|
grub-core/kern/partition.c | 5 ++++-
|
||
|
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||
|
|
|
||
|
|
diff --git a/grub-core/kern/partition.c b/grub-core/kern/partition.c
|
||
|
|
index 2c401b8..3068c4d 100644
|
||
|
|
--- a/grub-core/kern/partition.c
|
||
|
|
+++ b/grub-core/kern/partition.c
|
||
|
|
@@ -109,11 +109,14 @@ grub_partition_map_probe (const grub_partition_map_t partmap,
|
||
|
|
grub_partition_t
|
||
|
|
grub_partition_probe (struct grub_disk *disk, const char *str)
|
||
|
|
{
|
||
|
|
- grub_partition_t part = 0;
|
||
|
|
+ grub_partition_t part;
|
||
|
|
grub_partition_t curpart = 0;
|
||
|
|
grub_partition_t tail;
|
||
|
|
const char *ptr;
|
||
|
|
|
||
|
|
+ if (str == NULL)
|
||
|
|
+ return 0;
|
||
|
|
+
|
||
|
|
part = tail = disk->partition;
|
||
|
|
|
||
|
|
for (ptr = str; *ptr;)
|
||
|
|
--
|
||
|
|
2.19.1
|
||
|
|
|