A size of a pointer is passed to snprintf forcing it [snprintf] to truncate the output. size must be sizeof "[invalid sh_name 0x12345678]" + 1 (for the terminating null byte "\0").
Signed-off-by: David Abdurachmanov <[email protected]> --- src/nm.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/nm.c b/src/nm.c index f50da0b..8012b2f 100644 --- a/src/nm.c +++ b/src/nm.c @@ -770,7 +770,7 @@ show_symbols_sysv (Ebl *ebl, GElf_Word strndx, const char *fullname, if (unlikely (name == NULL)) { name = alloca (sizeof "[invalid sh_name 0x12345678]"); - snprintf (name, sizeof name, "[invalid sh_name %#" PRIx32 "]", + snprintf (name, sizeof "[invalid sh_name 0x12345678]" + 1, "[invalid sh_name %#" PRIx32 "]", gelf_getshdr (scn, &shdr_mem)->sh_name); } scnnames[elf_ndxscn (scn)] = name; -- 1.7.4.1 _______________________________________________ elfutils-devel mailing list [email protected] https://lists.fedorahosted.org/mailman/listinfo/elfutils-devel
