summaryrefslogtreecommitdiffstats
path: root/meta/recipes-bsp/grub/files/0015-kern-partition-Check-for-NULL-before-dereferencing-i.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-bsp/grub/files/0015-kern-partition-Check-for-NULL-before-dereferencing-i.patch')
-rw-r--r--meta/recipes-bsp/grub/files/0015-kern-partition-Check-for-NULL-before-dereferencing-i.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/meta/recipes-bsp/grub/files/0015-kern-partition-Check-for-NULL-before-dereferencing-i.patch b/meta/recipes-bsp/grub/files/0015-kern-partition-Check-for-NULL-before-dereferencing-i.patch
new file mode 100644
index 0000000000..af9fcd45cc
--- /dev/null
+++ b/meta/recipes-bsp/grub/files/0015-kern-partition-Check-for-NULL-before-dereferencing-i.patch
@@ -0,0 +1,43 @@
1From 0da8ef2e03a8591586b53a29af92d2ace76a04e3 Mon Sep 17 00:00:00 2001
2From: Darren Kenny <darren.kenny@oracle.com>
3Date: Fri, 23 Oct 2020 09:49:59 +0000
4Subject: [PATCH] kern/partition: Check for NULL before dereferencing input
5 string
6
7There is the possibility that the value of str comes from an external
8source and continuing to use it before ever checking its validity is
9wrong. So, needs fixing.
10
11Additionally, drop unneeded part initialization.
12
13Fixes: CID 292444
14
15Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
16Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
17
18Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?id=bc9c468a2ce84bc767234eec888b71f1bc744fff]
19Signed-off-by: Marta Rybczynska <marta.rybczynska@huawei.com>
20---
21 grub-core/kern/partition.c | 5 ++++-
22 1 file changed, 4 insertions(+), 1 deletion(-)
23
24diff --git a/grub-core/kern/partition.c b/grub-core/kern/partition.c
25index e499147..b10a184 100644
26--- a/grub-core/kern/partition.c
27+++ b/grub-core/kern/partition.c
28@@ -109,11 +109,14 @@ grub_partition_map_probe (const grub_partition_map_t partmap,
29 grub_partition_t
30 grub_partition_probe (struct grub_disk *disk, const char *str)
31 {
32- grub_partition_t part = 0;
33+ grub_partition_t part;
34 grub_partition_t curpart = 0;
35 grub_partition_t tail;
36 const char *ptr;
37
38+ if (str == NULL)
39+ return 0;
40+
41 part = tail = disk->partition;
42
43 for (ptr = str; *ptr;)