On Wed, 10 Nov 2010 23:38:08 +0300 Vasiliy Kulikov <segooon@xxxxxxxxx> wrote: > "size" is size_t. If we want to check whether it was underflowed > then we should cast it to ssize_t instead of int. When > sizeof(size_t) > sizeof(int) the code sees UINT_MAX as underflow, > but it is not. > Does this patch fix any actual observed problem? > Compile tested. > I guess not. > --- a/lib/vsprintf.c > +++ b/lib/vsprintf.c > @@ -1290,7 +1290,7 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args) > > /* Reject out-of-range values early. Large positive sizes are > used for unknown buffer sizes. */ Thousands of people would find that comment to be utterly mysterious. I am one. > - if (WARN_ON_ONCE((int) size < 0)) > + if (WARN_ON_ONCE((ssize_t) size < 0)) > return 0; > > str = buf; -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html