On Tuesday 09 May 2006 18:06, Alexey Dobriyan wrote:
> > +/* Simplified asprintf. */
> > +char *kasprintf(const char *fmt, ...)
> > +{
> > + va_list ap;
> > + unsigned int len;
> > + char *p, dummy[1];
> > +
> > + va_start(ap, fmt);
> > + /* FIXME: vsnprintf has a bug, NULL should work */
> > + len = vsnprintf(dummy, 0, fmt, ap);
> > + va_end(ap);
> > +
> > + p = kmalloc(len + 1, GFP_KERNEL);
> > + if (!p)
> > + return NULL;
> > + va_start(ap, fmt);
> > + vsprintf(p, fmt, ap);
> > + va_end(ap);
> > + return p;
> > +}
>
> This should go to lib/
First for kernel usage I think it should have a maximum length parameter
to avoid dumb code from being easily exploited.
And the bug should be fixed in vsnprintf instead of being worked
around.
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]