diff --git a/ChangeLog b/ChangeLog index 1b666892c..d77075876 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-02-26 Andrey Borzenkov + + * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix + memory leak if device name is not found. + 2013-02-25 Andrey Borzenkov * grub-core/normal/menu_entry.c (update_screen): remove diff --git a/grub-core/disk/efi/efidisk.c b/grub-core/disk/efi/efidisk.c index 98cd22634..19c592384 100644 --- a/grub-core/disk/efi/efidisk.c +++ b/grub-core/disk/efi/efidisk.c @@ -797,7 +797,10 @@ grub_efidisk_get_device_name (grub_efi_handle_t *handle) dup_ldp->length[1] = 0; if (!get_diskname_from_path (dup_dp, device_name)) - return 0; + { + grub_free (dup_dp); + return 0; + } parent = grub_disk_open (device_name); grub_free (dup_dp);