]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Fix filename comparison
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Mon, 11 Apr 2011 05:51:15 +0000 (07:51 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Mon, 11 Apr 2011 05:51:15 +0000 (07:51 +0200)
grub-core/fs/btrfs.c

index fb7469b67b27ef0c2718c80828a8c8618b037209..add590dfb17fd0733521f13e150ddf135e578e4c 100644 (file)
@@ -1103,12 +1103,9 @@ find_path (struct grub_btrfs_data *data,
                              + grub_le_to_cpu16 (cdirel->n)
                              + grub_le_to_cpu16 (cdirel->m)))
        {
-         char c;
-         c = cdirel->name[grub_le_to_cpu16 (cdirel->n)];
-         cdirel->name[grub_le_to_cpu16 (cdirel->n)] = 0;
-         if (grub_strncmp (cdirel->name, ctoken, ctokenlen) == 0)
+         if (ctokenlen == grub_le_to_cpu16 (cdirel->n)
+             && grub_memcmp (cdirel->name, ctoken, ctokenlen) == 0)
            break;
-         cdirel->name[grub_le_to_cpu16 (cdirel->n)] = c;
        }
       if ((grub_uint8_t *) cdirel - (grub_uint8_t *) direl
          >= (grub_ssize_t) elemsize)