]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sun, 14 Apr 2013 22:40:19 +0000 (00:40 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sun, 14 Apr 2013 22:40:19 +0000 (00:40 +0200)
source and destination differ.

ChangeLog
grub-core/kern/ieee1275/openfw.c

index b37266844a2fd6ed37f3e5fd9c6d42036b453993..74690301f262a581b90069b15b68eccd532b6b95 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-04-15  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
+       source and destination differ.
+
 2013-04-15  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
index 90c092c72410122afcbc131eb7d8286d015948c4..07c90f7cbb0a802f9269355e21f30625eb4e0e03 100644 (file)
@@ -193,18 +193,22 @@ grub_ieee1275_devalias_next (struct grub_ieee1275_devalias *alias)
     {
       grub_ssize_t pathlen;
       grub_ssize_t actual;
+      char *tmp;
 
       if (alias->path)
        {
          grub_free (alias->path);
          alias->path = 0;
        }
-      if (grub_ieee1275_next_property (alias->parent_dev, alias->name,
+      tmp = grub_strdup (alias->name);
+      if (grub_ieee1275_next_property (alias->parent_dev, tmp,
                                       alias->name) <= 0)
        {
+         grub_free (tmp);
          grub_ieee1275_devalias_free (alias);
          return 0;
        }
+      grub_free (tmp);
 
       grub_dprintf ("devalias", "devalias name = %s\n", alias->name);