On Tue, Feb 26, 2008 at 3:09 AM, Christian Meyer <[EMAIL PROTECTED]> wrote:
> Bean <[EMAIL PROTECTED]> schrieb am 25.02.2008 15:08:56:
>
> >
>  > On Mon, Feb 25, 2008 at 7:57 PM, Christian Meyer <[EMAIL PROTECTED]> 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


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to