Merge branch 'master' of git.sv.gnu.org:/srv/git/grub

Conflicts:
	ChangeLog
This commit is contained in:
Vladimir Serbinenko 2013-12-16 14:15:37 +01:00
commit fadddc260a
2 changed files with 18 additions and 5 deletions

View file

@ -16,6 +16,12 @@
* grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin. * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
2013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
* grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
unlikely errors when getting EFI variables and make exhaustive search
for all BootNNNN variables to find matching one.
2013-12-15 Ian Campbell <ijc@hellion.org.uk> 2013-12-15 Ian Campbell <ijc@hellion.org.uk>
* grub-core/kern/uboot/init.c: Fix units of uboot timer. * grub-core/kern/uboot/init.c: Fix units of uboot timer.

View file

@ -246,6 +246,8 @@ grub_install_register_efi (grub_device_t efidir_grub_dev,
void *current = NULL; void *current = NULL;
ssize_t current_len; ssize_t current_len;
current = get_efi_variable_bootn (i, &current_len); current = get_efi_variable_bootn (i, &current_len);
if (current_len < 0)
continue; /* FIXME Should we abort on error? */
if (current_len < (distrib16_len + 1) * sizeof (grub_uint16_t) if (current_len < (distrib16_len + 1) * sizeof (grub_uint16_t)
+ 6) + 6)
{ {
@ -275,13 +277,18 @@ grub_install_register_efi (grub_device_t efidir_grub_dev,
void *current = NULL; void *current = NULL;
ssize_t current_len; ssize_t current_len;
current = get_efi_variable_bootn (i, &current_len); current = get_efi_variable_bootn (i, &current_len);
if (current_len < -1)
continue; /* FIXME Should we abort on error? */
if (current_len == -1) if (current_len == -1)
{ {
order_num = i; if (!have_order_num)
have_order_num = 1; {
grub_util_info ("Creating new entry at Boot%04x", order_num = i;
order_num); have_order_num = 1;
break; grub_util_info ("Creating new entry at Boot%04x",
order_num);
}
continue;
} }
if (current_len < (distrib16_len + 1) * sizeof (grub_uint16_t) if (current_len < (distrib16_len + 1) * sizeof (grub_uint16_t)
+ 6) + 6)