On Thu, May 2, 2019 at 12:06 PM Jeffrey Walton <noloa...@gmail.com> wrote: > > ... > > > vgdb.c:1008:20: note: directive argument in the range [0, 2147483647] > > > sprintf(hex, "%02x", cksum); > > > ^~~~~~ > > > > But cksum is an unsigned char, so value is be between [0, 255]. Which > > is max 2 hex chars. > > > > Could you retry with GCC8 or GCC9? > > And file a bug against GCC otherwise? > > I thought it might be something like that. > > I believe the char get promoted to an int for printf since it is > variadic. Maybe it would just be easier to workaround the finding by > making the buffer larger to accommodate an int. > > Its not Valgrind's problem to be sure. Valgrind is just > working/playing nice with other tools.
Yeah, there were some warnings about potential false positives: * https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html * https://developers.redhat.com/blog/2017/02/22/memory-error-detection-using-gcc/ It looks like the issue has already been raised at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79257. Jeff _______________________________________________ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users