On Mon, Nov 23, 2015 at 11:29 PM, Rasmus Villemoes <li...@rasmusvillemoes.dk> wrote: > If we're given a size of 0, the vsnprintf() won't have any side > effects, and neither "i < size" or "size != 0" will trigger. So we > might as well return 0 immediately. > > Signed-off-by: Rasmus Villemoes <li...@rasmusvillemoes.dk> > --- > lib/vsprintf.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/lib/vsprintf.c b/lib/vsprintf.c > index 8af5535fd738..e22a6189548f 100644 > --- a/lib/vsprintf.c > +++ b/lib/vsprintf.c > @@ -2036,13 +2036,14 @@ int vscnprintf(char *buf, size_t size, const char > *fmt, va_list args) > { > int i; > > + if (unlikely(!size)) > + return 0; > +
Might it potentially shadow any issue when run vsnprintf(buf, 0, fmt, args); with certain arguments? I can imagine something like %pV with unstable pointer. > i = vsnprintf(buf, size, fmt, args); > > if (likely(i < size)) > return i; > - if (size != 0) > - return size - 1; > - return 0; > + return size - 1; > } > EXPORT_SYMBOL(vscnprintf); > > -- > 2.6.1 > > -- > 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/ -- With Best Regards, Andy Shevchenko -- 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/