[PATCH v12 04/10] ref_tracker: have callers pass output function to pr_ostream()
Jeff Layton
jlayton at kernel.org
Fri May 30 11:47:00 UTC 2025
On Fri, 2025-05-30 at 11:13 +0000, Krzysztof Karas wrote:
> Hi Jeff,
>
> [...]
> > +static void __ostream_printf pr_ostream_buf(struct ostream *stream, char *fmt, ...)
> > +{
> > + int ret, len = stream->size - stream->used;
> > + va_list args;
> > +
> > + va_start(args, fmt);
> > + ret = vsnprintf(stream->buf + stream->used, len, fmt, args);
> vsnprintf() technically may return a negative error code.
> In that case, we'd be adding some unwanted values to the
> stream->used. When we encounter an error we could skip
> modifying that field.
>
> > + va_end(args);
> > + stream->used += min(ret, len);
> > +}
> > +
> [...]
>
Good catch. I'll change this to be:
va_start(args, fmt);
ret = vsnprintf(stream->buf + stream->used, len, fmt, args);
va_end(args);
if (ret > 0)
stream->used += min(ret, len);
--
Jeff Layton <jlayton at kernel.org>
More information about the Intel-gfx
mailing list