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.
40 lines
1.3 KiB
40 lines
1.3 KiB
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Paulo Flabiano Smorigo <pfsmorigo@canonical.com>
|
|
Date: Mon, 30 Nov 2020 10:36:00 -0300
|
|
Subject: [PATCH] loader/xnu: Check if pointer is NULL before using it
|
|
|
|
Fixes: CID 73654
|
|
|
|
Signed-off-by: Paulo Flabiano Smorigo <pfsmorigo@canonical.com>
|
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
|
---
|
|
grub-core/loader/xnu.c | 8 ++++----
|
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/grub-core/loader/xnu.c b/grub-core/loader/xnu.c
|
|
index af885a648..49641b8bb 100644
|
|
--- a/grub-core/loader/xnu.c
|
|
+++ b/grub-core/loader/xnu.c
|
|
@@ -671,6 +671,9 @@ grub_xnu_load_driver (char *infoplistname, grub_file_t binaryfile,
|
|
char *name, *nameend;
|
|
int namelen;
|
|
|
|
+ if (infoplistname == NULL)
|
|
+ return grub_error (GRUB_ERR_BAD_FILENAME, N_("missing p-list filename"));
|
|
+
|
|
name = get_name_ptr (infoplistname);
|
|
nameend = grub_strchr (name, '/');
|
|
|
|
@@ -702,10 +705,7 @@ grub_xnu_load_driver (char *infoplistname, grub_file_t binaryfile,
|
|
else
|
|
macho = 0;
|
|
|
|
- if (infoplistname)
|
|
- infoplist = grub_file_open (infoplistname, GRUB_FILE_TYPE_XNU_INFO_PLIST);
|
|
- else
|
|
- infoplist = 0;
|
|
+ infoplist = grub_file_open (infoplistname, GRUB_FILE_TYPE_XNU_INFO_PLIST);
|
|
grub_errno = GRUB_ERR_NONE;
|
|
if (infoplist)
|
|
{
|