On Mon, Apr 03, 2023 at 01:19:12PM -0700, Stephen Hemminger wrote:
> On Mon,  3 Apr 2023 09:30:23 -0700
> Tyler Retzlaff <roret...@linux.microsoft.com> wrote:
> 
> >  __json_snprintf(char *buf, const int len, const char *format, ...)
> >  {
> > -   char tmp[len];
> > +   char *tmp = malloc(len);
> >     va_list ap;
> > -   int ret;
> > +   int ret = 0;
> > +
> > +   if (tmp == NULL)
> > +           return ret;
> >  
> >     va_start(ap, format);
> >     ret = vsnprintf(tmp, sizeof(tmp), format, ap);
> >     va_end(ap);
> >     if (ret > 0 && ret < (int)sizeof(tmp) && ret < len) {
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
also this seems redundant. when is len != sizeof(tmp) here?

> >             strcpy(buf, tmp);
> > -           return ret;
> >     }
> > -   return 0; /* nothing written or modified */
> > +
> > +   free(tmp);
> > +
> > +   return ret;
> >  }
> 
> Not sure why it needs a tmp buffer anyway?

yeah, there a are a few question marks in this code. i've removed this
patch from the series for now. v3 doesn't touch this file anymore.

Reply via email to