diff options
author | Nick Clifton <nickc@redhat.com> | 2021-10-19 16:02:49 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2021-10-19 16:02:49 +0100 |
commit | cf487499e0d7ef64ab63d6c76bf298bfaf64b980 (patch) | |
tree | 122027a0a59f41ba89e2cd5c5a991a0cf2e76f6f /binutils/nm.c | |
parent | d4ef5e75c7ebf57b946f59ce85568b9c459a02f4 (diff) | |
download | gdb-cf487499e0d7ef64ab63d6c76bf298bfaf64b980.zip gdb-cf487499e0d7ef64ab63d6c76bf298bfaf64b980.tar.gz gdb-cf487499e0d7ef64ab63d6c76bf298bfaf64b980.tar.bz2 |
Fix a potential illegal memory access when testing for a special LTO symbol name.
bfd * linker.c (_bfd_generic_link_add_one_symbol): Test for a NULL
name before checking to see if the symbol is __gnu_lto_slim.
* archive.c (_bfd_compute_and_write_armap): Likewise.
binutils
* nm.c (filter_symbols): Test for a NULL name before checking to
see if the symbol is __gnu_lto_slim.
* objcopy.c (filter_symbols): Likewise.
Diffstat (limited to 'binutils/nm.c')
-rw-r--r-- | binutils/nm.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/binutils/nm.c b/binutils/nm.c index 82ccec6..7606956 100644 --- a/binutils/nm.c +++ b/binutils/nm.c @@ -544,7 +544,8 @@ filter_symbols (bfd *abfd, bool is_dynamic, void *minisyms, if (sym == NULL) bfd_fatal (bfd_get_filename (abfd)); - if (sym->name[0] == '_' + if (sym->name != NULL + && sym->name[0] == '_' && sym->name[1] == '_' && strcmp (sym->name + (sym->name[2] == '_'), "__gnu_lto_slim") == 0 && report_plugin_err) |