You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.2 KiB
41 lines
1.2 KiB
2 years ago
|
From 0000000000000000000000000000000000000000 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
|
||
|
|
||
|
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 2c401b866..3068c4dca 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;)
|