Re: [PATCH] reiserfs: check/extend buffer length for printingfunctions

From: Al Viro
Date: Thu Jul 18 2013 - 03:43:25 EST


On Thu, Jul 18, 2013 at 03:29:17PM +0800, Chen Gang wrote:
> On 07/18/2013 12:28 PM, Chen Gang wrote:
> >
> >> strcpy(fmt1, fmt);
> >> @@ -199,46 +214,51 @@ static void prepare_error_buf(const char *fmt, va_list args)
> >> while ((k = is_there_reiserfs_struct(fmt1, &what)) != NULL) {
> >> *k = 0;
> >>
> >> - p += vsprintf(p, fmt1, args);
> >> + p += vsnprintf(p, left, fmt1, args);
>
> At least, need use vscnprintf() instead of vsnprintf(), since we need
> the real written length return.

n = vsnprintf(p, left, ....);
left -= n;
if (left <= 0) /* overflow */
break; /* or whatever's suitable here */
p += n;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/