svn commit: r336031 - head/usr.bin/top
Konstantin Belousov
kostikbel at gmail.com
Fri Jul 6 13:56:43 UTC 2018
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 (r336030)
> +++ head/usr.bin/top/display.c Fri Jul 6 13:22:44 2018 (r336031)
> @@ -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.
>
> va_end(args);
>
More information about the svn-src-all
mailing list