fprintf: Fixup truncation possibility pointed out by gcc -O2

Addresses this warning:

  [ 26%] Building C object CMakeFiles/dwarves.dir/dwarves_fprintf.c.o
  /home/acme/git/pahole/dwarves_fprintf.c: In function ‘type__fprintf’:
  /home/acme/git/pahole/dwarves_fprintf.c:709:47: error: ‘%s’ directive output may be truncated writing up to 257 bytes into a region of size 256 [-Werror=format-truncation=]
    709 |     snprintf(namebfptr, sizeof(namebfptr), "* %s", name);
        |                                               ^~
  /home/acme/git/pahole/dwarves_fprintf.c:709:5: note: ‘snprintf’ output between 3 and 260 bytes into a destination of size 258
    709 |     snprintf(namebfptr, sizeof(namebfptr), "* %s", name);
        |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cc1: all warnings being treated as errors

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2019-12-16 10:37:51 -03:00
parent 5c590fc29d
commit 1bc63a4cff
1 changed files with 1 additions and 1 deletions

View File

@ -706,7 +706,7 @@ next_type:
tag__is_enumeration(ptype)) && type__name(tag__type(ptype), cu) == NULL) {
if (name == namebfptr)
goto out_type_not_found;
snprintf(namebfptr, sizeof(namebfptr), "* %s", name);
snprintf(namebfptr, sizeof(namebfptr), "* %.*s", (int)sizeof(namebfptr) - 3, name);
tconf.rel_offset = 1;
name = namebfptr;
type = ptype;