objdump disassembly of files without symbols
ubsan complains about memcpy with a NULL src even when size is zero. * objdump.c (disassemble_section): Don't call qsort unless sym count is at least two. (disassemble_data): Don't call memcpy with NULL src.
This commit is contained in:
parent
6b5e16ffd3
commit
41da082238
2 changed files with 14 additions and 4 deletions
|
@ -3109,7 +3109,8 @@ disassemble_section (bfd *abfd, asection *section, void *inf)
|
|||
|
||||
/* Sort the symbols into value and section order. */
|
||||
compare_section = section;
|
||||
qsort (sorted_syms, sorted_symcount, sizeof (asymbol *), compare_symbols);
|
||||
if (sorted_symcount > 1)
|
||||
qsort (sorted_syms, sorted_symcount, sizeof (asymbol *), compare_symbols);
|
||||
|
||||
/* Skip over the relocs belonging to addresses below the
|
||||
start address. */
|
||||
|
@ -3376,10 +3377,13 @@ disassemble_data (bfd *abfd)
|
|||
sorted_symcount = symcount ? symcount : dynsymcount;
|
||||
sorted_syms = (asymbol **) xmalloc ((sorted_symcount + synthcount)
|
||||
* sizeof (asymbol *));
|
||||
memcpy (sorted_syms, symcount ? syms : dynsyms,
|
||||
sorted_symcount * sizeof (asymbol *));
|
||||
if (sorted_symcount != 0)
|
||||
{
|
||||
memcpy (sorted_syms, symcount ? syms : dynsyms,
|
||||
sorted_symcount * sizeof (asymbol *));
|
||||
|
||||
sorted_symcount = remove_useless_symbols (sorted_syms, sorted_symcount);
|
||||
sorted_symcount = remove_useless_symbols (sorted_syms, sorted_symcount);
|
||||
}
|
||||
|
||||
for (i = 0; i < synthcount; ++i)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue