grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: grub2: symlink on reiserfs: error: file not found


From: Bean
Subject: Re: grub2: symlink on reiserfs: error: file not found
Date: Tue, 26 Feb 2008 13:37:19 +0800

On Tue, Feb 26, 2008 at 3:09 AM, Christian Meyer <address@hidden> wrote:
> Bean <address@hidden> schrieb am 25.02.2008 15:08:56:
>
> >
>  > On Mon, Feb 25, 2008 at 7:57 PM, Christian Meyer <address@hidden> wrote:
>  > >
>
> > >  The diskimage http://www.chbmeyer.de/1.reiserfs.gz has a size of 35 MB 
> > > (compressed: 36kb).
>  >
>
> > The test file have problem, the link is pointed to /mnt/boot/test
>  > instead of /boot/test.
>
>  Oh, I'm really sorry about it, too stupid.
>  Fixed it with http://www.chbmeyer.de/1.reiserfs.gz
>
>  I used the symlink that caused the trouble:
>  cp -dp /media/hda3/vmlinuz /mnt/
>  and exchanged the kernel by a textfile.

Ok, i found the bug, symbol link name in reiserfs is not null-ended,
so we need to add 0 at the end of string:

diff --git a/fs/reiserfs.c b/fs/reiserfs.c
index a4c60ca..60b6fe2 100644
--- a/fs/reiserfs.c
+++ b/fs/reiserfs.c
@@ -659,7 +659,7 @@ grub_reiserfs_read_symlink (grub_fshelp_node_t node)
            >> GRUB_DISK_SECTOR_BITS);
   offset = grub_le_to_cpu16 (found.header.item_location);

-  symlink_buffer = grub_malloc (len);
+  symlink_buffer = grub_malloc (len + 1);
   if (! symlink_buffer)
     goto fail;

@@ -667,6 +667,7 @@ grub_reiserfs_read_symlink (grub_fshelp_node_t node)
   if (grub_errno)
     goto fail;

+  symlink_buffer[len] = 0;
   return symlink_buffer;

  fail:



-- 
Bean




reply via email to

[Prev in Thread] Current Thread [Next in Thread]