0088-loader-xnu-Check-if-pointer-is-NULL-before-using-it.patch 1.4 KB

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