gnu: grub-efi: Fix an uninitialized variable issue.

* gnu/packages/patches/grub-check-error-efibootmgr.patch: Add hunk to
correct uninitialized variable.
This commit is contained in:
Ludovic Courtès 2018-10-18 23:56:47 +02:00
parent 33428d1267
commit d36cd88873
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 22 additions and 1 deletions

View File

@ -160,7 +160,7 @@ index 5e4cdfd..690f180 100644
/* Try to make this image bootable using the EFI Boot Manager, if available. */ /* Try to make this image bootable using the EFI Boot Manager, if available. */
if (!efi_distributor || efi_distributor[0] == '\0') if (!efi_distributor || efi_distributor[0] == '\0')
@@ -1887,8 +1892,11 @@ main (int argc, char *argv[]) @@ -1887,7 +1892,10 @@ main (int argc, char *argv[])
efidir_grub_dev->disk->name, efidir_grub_dev->disk->name,
(part ? ",": ""), (part ? : "")); (part ? ",": ""), (part ? : ""));
grub_free (part); grub_free (part);
@ -174,3 +174,24 @@ index 5e4cdfd..690f180 100644
} }
break; break;
Below is a followup to the patch above: the uninitialized variable could lead
grub-install to error out when it shouldnt (seen on an AArch64 box where
grub_install_remove_efi_entries_by_distributor didn't have any entry to
remove):
grub-install: error: efibootmgr failed to register the boot entry: Unknown error 65535.
See <http://lists.gnu.org/archive/html/bug-grub/2018-10/msg00006.html>.
--- grub-2.02/grub-core/osdep/unix/platform.c 2018-10-17 22:21:53.015284846 +0200
+++ grub-2.02/grub-core/osdep/unix/platform.c 2018-10-17 22:21:55.595271222 +0200
@@ -85,7 +85,7 @@ grub_install_remove_efi_entries_by_distr
pid_t pid = grub_util_exec_pipe ((const char * []){ "efibootmgr", NULL }, &fd);
char *line = NULL;
size_t len = 0;
- int rc;
+ int rc = 0;
if (!pid)
{