1*4882a593SmuzhiyunFrom 7c8a2b5d1421a0f2a33d33531f7561f3da93b844 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Paulo Flabiano Smorigo <pfsmorigo@canonical.com>
3*4882a593SmuzhiyunDate: Mon, 30 Nov 2020 10:36:00 -0300
4*4882a593SmuzhiyunSubject: [PATCH] loader/xnu: Check if pointer is NULL before using it
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunFixes: CID 73654
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunSigned-off-by: Paulo Flabiano Smorigo <pfsmorigo@canonical.com>
9*4882a593SmuzhiyunReviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
10*4882a593SmuzhiyunSigned-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
11*4882a593Smuzhiyun---
12*4882a593Smuzhiyun grub-core/loader/xnu.c | 8 ++++----
13*4882a593Smuzhiyun 1 file changed, 4 insertions(+), 4 deletions(-)
14*4882a593Smuzhiyun
15*4882a593Smuzhiyundiff --git a/grub-core/loader/xnu.c b/grub-core/loader/xnu.c
16*4882a593Smuzhiyunindex 1a590db..1c0cf6a 100644
17*4882a593Smuzhiyun--- a/grub-core/loader/xnu.c
18*4882a593Smuzhiyun+++ b/grub-core/loader/xnu.c
19*4882a593Smuzhiyun@@ -670,6 +670,9 @@ grub_xnu_load_driver (char *infoplistname, grub_file_t binaryfile,
20*4882a593Smuzhiyun   char *name, *nameend;
21*4882a593Smuzhiyun   int namelen;
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun+  if (infoplistname == NULL)
24*4882a593Smuzhiyun+    return grub_error (GRUB_ERR_BAD_FILENAME, N_("missing p-list filename"));
25*4882a593Smuzhiyun+
26*4882a593Smuzhiyun   name = get_name_ptr (infoplistname);
27*4882a593Smuzhiyun   nameend = grub_strchr (name, '/');
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun@@ -701,10 +704,7 @@ grub_xnu_load_driver (char *infoplistname, grub_file_t binaryfile,
30*4882a593Smuzhiyun   else
31*4882a593Smuzhiyun     macho = 0;
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun-  if (infoplistname)
34*4882a593Smuzhiyun-    infoplist = grub_file_open (infoplistname, GRUB_FILE_TYPE_XNU_INFO_PLIST);
35*4882a593Smuzhiyun-  else
36*4882a593Smuzhiyun-    infoplist = 0;
37*4882a593Smuzhiyun+  infoplist = grub_file_open (infoplistname, GRUB_FILE_TYPE_XNU_INFO_PLIST);
38*4882a593Smuzhiyun   grub_errno = GRUB_ERR_NONE;
39*4882a593Smuzhiyun   if (infoplist)
40*4882a593Smuzhiyun     {
41*4882a593Smuzhiyun--
42*4882a593Smuzhiyun2.14.2
43*4882a593Smuzhiyun
44