On Sat, 28 Jun 2008 18:25:01 +0300 Vesa Jääskeläinen <[EMAIL PROTECTED]> wrote:
> Colin D Bennett wrote:
> > It looks like grub_strdup() does not terminate the returned string
> > with a 0 byte. The only way I could see it working is if
> > grub_malloc() filled the returned memory with zeroes. Does it?
> >
> > From kern/misc.c: (circa line 476)
> >
> > char *
> > grub_strdup (const char *s)
> > {
> > grub_size_t len;
> > char *p;
> >
> > len = grub_strlen (s) + 1;
> > p = (char *) grub_malloc (len);
> > if (! p)
> > return 0;
> >
> > return grub_memcpy (p, s, len);
> > }
>
> Zero is copied from source string... notice strlen() + 1.
Doh!
/me smacks his forehead.
Thanks for pointing that out.
Cheers,
Colin
signature.asc
Description: PGP signature
_______________________________________________ Grub-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/grub-devel
