| From 7c8a2b5d1421a0f2a33d33531f7561f3da93b844 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> |
| Signed-off-by: Stefan SΓΈrensen <stefan.sorensen@spectralink.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 1a590db..1c0cf6a 100644 |
| --- a/grub-core/loader/xnu.c |
| +++ b/grub-core/loader/xnu.c |
| @@ -670,6 +670,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, '/'); |
| |
| @@ -701,10 +704,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) |
| { |
| -- |
| 2.14.2 |
| |