On Mon, Oct 20, 2014 at 09:13:58PM +0200, Geert Uytterhoeven wrote: > On Mon, Oct 20, 2014 at 8:28 PM, Jiri Olsa <jo...@redhat.com> wrote: > >> +int vasprintf(char **str, const char *fmt, va_list ap) > >> +{ > >> + char buf[1024]; > > > > could you please make it work for generic buf len? > > The actual size above doesn't matter, except for stack usage. > It could be 1 (are there any bugs triggered when using zero? ;-). > The real buffer is allocated by malloc() below. > > >> + int len = vsnprintf(buf, sizeof buf, fmt, ap);
hum, really? the message is formated in here ^^^ into buffer on stack 'buf[1024]' > > > > WARNING: sizeof buf should be sizeof(buf) > > > >> + > >> + *str = malloc(len + 1); > >> + if (!*str) > >> + return -1; > >> + strcpy(*str, buf); and copied into allocated buffer in here the buf size 1024 limits the maximum formated string length to 1024, which is probably not crossed by current perf usage.. but still making it generic is not that hard jirka > >> + return len; > >> +} > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- > ge...@linux-m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like > that. > -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/