summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-10-18 23:56:47 +0200
committerLudovic Courtès <ludo@gnu.org>2018-10-19 00:11:42 +0200
commitd36cd888734da3c9d7ce27dafedb00f0e42a636e (patch)
tree750cf352ff34867e65f5607479b1f1d3673cddb5 /gnu
parent33428d12672fefde745b313ce1f0c02ae9870e39 (diff)
downloadguix-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.patch23
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)
+     {