]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Mon, 19 Mar 2012 10:07:28 +0000 (11:07 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Mon, 19 Mar 2012 10:07:28 +0000 (11:07 +0100)
starts with control character.

ChangeLog
grub-core/fs/jfs.c

index 338522b788298404dda844b28226b0c58f697aba..60df3dbccfa00fcbb526e331217d5616d829f809 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-03-19  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
+       starts with control character.
+
 2012-03-19  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
index b323fe0c8a429aa5b9e2f0457f586696ba6e4d96..4792f3a74f0419e5f39f5b77561b842b832e7180 100644 (file)
@@ -888,12 +888,18 @@ grub_jfs_label (grub_device_t device, char **label)
 
   if (data)
     {
-      if (data->sblock.volname2[0])
+      if (data->sblock.volname2[0] < ' ')
+       {
+         char *ptr;
+         ptr = data->sblock.volname + sizeof (data->sblock.volname) - 1;
+         while (ptr >= data->sblock.volname && *ptr == ' ')
+           ptr--;
+         *label = grub_strndup (data->sblock.volname,
+                                ptr - data->sblock.volname + 1);
+       }
+      else
        *label = grub_strndup (data->sblock.volname2,
                               sizeof (data->sblock.volname2));
-      else
-       *label = grub_strndup (data->sblock.volname,
-                              sizeof (data->sblock.volname));
     }
   else
     *label = 0;