Fix compile time warning messages when compiling binutils with gcc 7.0.1.
PR 21096 bfd * coffcode.h (coff_write_object_contents): Enlarge size of s_name_buf in order to avoid compile time warning about possible integer truncation. * elf32-nds32.c (nds32_elf_ex9_import_table): Mask off lower 32-bits of insn value before printing into buffer. opcodes * aarch64-opc.c (print_register_list): Ensure that the register list index will fir into the tb buffer. (print_register_offset_address): Likewise. * tic6x-dis.c (print_insn_tic6x): Increase size of func_unit_buf.
This commit is contained in:
parent
65c40c956f
commit
1b7e3d2fb7
6 changed files with 34 additions and 11 deletions
|
@ -3755,7 +3755,9 @@ coff_write_object_contents (bfd * abfd)
|
|||
NUL-terminated. We use a temporary buffer so that we can still
|
||||
sprintf all eight chars without splatting a terminating NUL
|
||||
over the first byte of the following member (s_paddr). */
|
||||
char s_name_buf[SCNNMLEN + 1];
|
||||
/* PR 21096: The +20 is to stop a bogus warning from gcc7 about
|
||||
a possible buffer overflow. */
|
||||
char s_name_buf[SCNNMLEN + 1 + 20];
|
||||
|
||||
/* An inherent limitation of the /nnnnnnn notation used to indicate
|
||||
the offset of the long name in the string table is that we
|
||||
|
@ -3770,9 +3772,10 @@ coff_write_object_contents (bfd * abfd)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
/* snprintf not strictly necessary now we've verified the value
|
||||
has less than eight ASCII digits, but never mind. */
|
||||
snprintf (s_name_buf, SCNNMLEN + 1, "/%lu", (unsigned long) string_size);
|
||||
/* We do not need to use snprintf here as we have already verfied
|
||||
that string_size is not too big, plus we have an overlarge
|
||||
buffer, just in case. */
|
||||
sprintf (s_name_buf, "/%lu", (unsigned long) string_size);
|
||||
/* Then strncpy takes care of any padding for us. */
|
||||
strncpy (section.s_name, s_name_buf, SCNNMLEN);
|
||||
string_size += len + 1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue