svn commit: r336031 - head/usr.bin/top
Cy Schubert
Cy.Schubert at cschubert.com
Sat Jul 7 04:42:32 UTC 2018
In message <20180706135634.GP5562 at kib.kiev.ua>, Konstantin Belousov
writes:
> On Fri, Jul 06, 2018 at 01:22:44PM +0000, Sean Bruno wrote:
> > Author: sbruno
> > Date: Fri Jul 6 13:22:44 2018
> > New Revision: 336031
> > URL: https://svnweb.freebsd.org/changeset/base/336031
> >
> > Log:
> > r336028 changed next_msg to a char * from char [] of fixed size. Change
> > 2nd argument of vsnprintf() to get the strlen of next_msg so that the
> > appropriate size is used.
> >
> > Found with gcc.
> >
> > /usr.bin/top/display.c: In function 'new_message':
> > /usr.bin/top/display.c:963:31: error:
> > argument to 'sizeof' in 'vsnprintf' call is the same expression as the
> > destination; did you mean to provide an explicit length?
> > [-Werror=sizeof-pointer-memaccess]
> > vsnprintf(next_msg, sizeof(next_msg), msgfmt, args);
> >
> > Reviewed by: daichi
> >
> > Modified:
> > head/usr.bin/top/display.c
> >
> > Modified: head/usr.bin/top/display.c
> > ===========================================================================
> ===
> > --- head/usr.bin/top/display.c Fri Jul 6 12:44:48 2018 (r33603
> 0)
> > +++ head/usr.bin/top/display.c Fri Jul 6 13:22:44 2018 (r33603
> 1)
> > @@ -960,7 +960,7 @@ new_message(int type, const char *msgfmt, ...)
> > va_start(args, msgfmt);
> >
> > /* first, format the message */
> > - vsnprintf(next_msg, sizeof(next_msg), msgfmt, args);
> > + vsnprintf(next_msg, strlen(next_msg), msgfmt, args);
> I highly suspect that this strlen() call returns zero, always.
Yes. OTOH sizeof(next_msg) won't return much useful either, as it
returns the size of the pointer.
>
> >
> > va_end(args);
> >
>
--
Cheers,
Cy Schubert <Cy.Schubert at cschubert.com>
FreeBSD UNIX: <cy at FreeBSD.org> Web: http://www.FreeBSD.org
The need of the many outweighs the greed of the few.
More information about the svn-src-all
mailing list