various fixes

This commit is contained in:
phcoder 2009-10-11 02:07:52 +02:00
parent 65e64ea4b1
commit ffa9860a86
10 changed files with 177 additions and 39 deletions

View file

@ -280,8 +280,10 @@ grub_cpio_open (grub_file_t file, const char *name)
/* Compare NAME and FN by hand in order to cope with duplicate
slashes. */
i = 1;
i = 0;
j = 0;
while (name[i] == '/')
i++;
while (1)
{
if (name[i] != fn[j])
@ -290,13 +292,16 @@ grub_cpio_open (grub_file_t file, const char *name)
if (name[i] == '\0')
break;
if (name[i] == '/' && name[i+1] == '/')
while (name[i] == '/' && name[i+1] == '/')
i++;
i++;
j++;
}
if (name[i] != fn[j])
goto no_match;
file->data = data;
file->size = data->size;
grub_free (fn);