diff --git a/ChangeLog b/ChangeLog index 4728f8ae4..a7e144694 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-11-14 Vladimir Serbinenko + + * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer + at the start of second iteration. + 2013-11-14 Vladimir Serbinenko * grub-core/Makefile.am (efiemu64.o): Explicitly set link format. diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c index 8be9b01db..2a910bbdf 100644 --- a/grub-core/kern/efi/efi.c +++ b/grub-core/kern/efi/efi.c @@ -307,10 +307,13 @@ grub_efi_modules_addr (void) #pragma GCC diagnostic error "-Wcast-align" char * -grub_efi_get_filename (grub_efi_device_path_t *dp) +grub_efi_get_filename (grub_efi_device_path_t *dp0) { char *name = 0, *p; grub_size_t filesize = 0; + grub_efi_device_path_t *dp; + + dp = dp0; while (1) { @@ -334,6 +337,8 @@ grub_efi_get_filename (grub_efi_device_path_t *dp) if (!filesize) return NULL; + dp = dp0; + p = name = grub_malloc (filesize); if (!name) return NULL;