]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Thu, 9 Feb 2012 13:27:05 +0000 (14:27 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Thu, 9 Feb 2012 13:27:05 +0000 (14:27 +0100)
Explicitly init restart while on it.

ChangeLog
grub-core/fs/cpio.c

index 1e3176e63e92d973eae4a8f83265ef5cdea4421f..ec7b556d6293f4ee7381f6f0cb889e8fc25d33ec 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
+       Explicitly init restart while on it.
+
 2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
index bfaf141011346ac7484f2ecb88304f89ce095009..1065df94afc1fd6836d1f7b92eee1b8c29ce619a 100644 (file)
@@ -539,7 +539,7 @@ grub_cpio_dir (grub_device_t device, const char *path_in,
          if (p)
            *p = 0;
 
-         if (((!prev) || (grub_strcmp (prev, n) != 0)) && *n != 0)
+         if (((!prev) || (grub_strcmp (prev, name) != 0)) && *n != 0)
            {
              struct grub_dirhook_info info;
              grub_memset (&info, 0, sizeof (info));
@@ -554,7 +554,7 @@ grub_cpio_dir (grub_device_t device, const char *path_in,
            }
          else
            {
-             int restart;
+             int restart = 0;
              err = handle_symlink (data, name, &path, mode, &restart);
              grub_free (name);
              if (err)