diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-10-18 23:56:47 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-10-19 00:11:42 +0200 |
commit | d36cd888734da3c9d7ce27dafedb00f0e42a636e (patch) | |
tree | 750cf352ff34867e65f5607479b1f1d3673cddb5 /gnu | |
parent | 33428d12672fefde745b313ce1f0c02ae9870e39 (diff) | |
download | guix-d36cd888734da3c9d7ce27dafedb00f0e42a636e.tar.gz |
gnu: grub-efi: Fix an uninitialized variable issue.
* gnu/packages/patches/grub-check-error-efibootmgr.patch: Add hunk to correct uninitialized variable.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/patches/grub-check-error-efibootmgr.patch | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/gnu/packages/patches/grub-check-error-efibootmgr.patch b/gnu/packages/patches/grub-check-error-efibootmgr.patch index b2fd160c9a..efeb20f213 100644 --- a/gnu/packages/patches/grub-check-error-efibootmgr.patch +++ b/gnu/packages/patches/grub-check-error-efibootmgr.patch @@ -160,7 +160,7 @@ index 5e4cdfd..690f180 100644 /* Try to make this image bootable using the EFI Boot Manager, if available. */ 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, (part ? ",": ""), (part ? : "")); grub_free (part); @@ -173,4 +173,25 @@ index 5e4cdfd..690f180 100644 + strerror (ret)); } break; + + +Below is a followup to the patch above: the uninitialized variable could lead +‘grub-install’ to error out when it shouldn’t (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) + { |