]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sun, 10 Jul 2011 13:33:57 +0000 (15:33 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sun, 10 Jul 2011 13:33:57 +0000 (15:33 +0200)
incorrect memory usage.

ChangeLog
grub-core/disk/efi/efidisk.c

index 96b48f2fefce334cfe155f58801d66b92b2e2280..cf2354f6d0c7c3fef910c4bfd033bebddb02b2cc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-07-10  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
+       incorrect memory usage.
+
 2011-07-10  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * util/grub-install.in: Source grub-mkconfig_lib.
index 85969cc1dea5d07ba87ba5c4ab3de846a27b42de..0baeb8e4b5660248e584ec163776006350432a6e 100644 (file)
@@ -709,7 +709,7 @@ grub_efidisk_get_device_name (grub_efi_handle_t *handle)
       && (GRUB_EFI_DEVICE_PATH_SUBTYPE (ldp)
          == GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE))
     {
-      grub_partition_t tpart = NULL;
+      char *partition_name = NULL;
       char *device_name;
       grub_efi_device_path_t *dup_dp, *dup_ldp;
       grub_efi_hard_drive_device_path_t hd;
@@ -722,7 +722,7 @@ grub_efidisk_get_device_name (grub_efi_handle_t *handle)
          if (grub_partition_get_start (part) == hd.partition_start
              && grub_partition_get_len (part) == hd.partition_size)
            {
-             tpart = part;
+             partition_name = grub_partition_get_name (part);
              return 1;
            }
 
@@ -760,17 +760,14 @@ grub_efidisk_get_device_name (grub_efi_handle_t *handle)
        }
       else
        {
-         char *partition_name;
-
          grub_partition_iterate (parent, find_partition);
 
-         if (! tpart)
+         if (! partition_name)
            {
              grub_disk_close (parent);
              return 0;
            }
 
-         partition_name = grub_partition_get_name (tpart);
          device_name = grub_xasprintf ("%s,%s", parent->name, partition_name);
          grub_free (partition_name);
        }