diff options
author | Nick Clifton <nickc@redhat.com> | 2018-06-25 12:49:14 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2018-06-25 12:49:14 +0100 |
commit | bb69498c61638ea88b626f78e911afa74ed22da6 (patch) | |
tree | f9d6c14de6d7b8e4543dcf36fdffa4692f1c7d62 /bfd | |
parent | c1080aae0f87ad55d1fc6003c76dc093b3c0749d (diff) | |
download | binutils-gdb-bb69498c61638ea88b626f78e911afa74ed22da6.tar.gz |
Fix compile time warning message for the AArch64 BFD backend, about a possible attempt to call sprintf on a NULL buffer pointer.
* elfnn-aarch64.c (_bfd_aarch64_erratum_835769_stub_name): Check
for malloc returning NULL.
(_bfd_aarch64_erratum_843419_fixup): Check for
_bfd_aarch64_erratum_835769_stub_name returning NULL.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/elfnn-aarch64.c | 8 |
2 files changed, 12 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 456ae665e1d..9a288b09d5d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2018-06-25 Nick Clifton <nickc@redhat.com> + + * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_stub_name): Check + for malloc returning NULL. + (_bfd_aarch64_erratum_843419_fixup): Check for + _bfd_aarch64_erratum_835769_stub_name returning NULL. + 2018-06-24 Nick Clifton <nickc@redhat.com> * po/bfd.pot: Regenerate. diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index 3ccca779ff7..cf321f32c20 100644 --- a/bfd/elfnn-aarch64.c +++ b/bfd/elfnn-aarch64.c @@ -3745,7 +3745,8 @@ _bfd_aarch64_erratum_835769_stub_name (unsigned num_fixes) { char *stub_name = (char *) bfd_malloc (strlen ("__erratum_835769_veneer_") + 16); - sprintf (stub_name,"__erratum_835769_veneer_%d", num_fixes); + if (stub_name != NULL) + sprintf (stub_name,"__erratum_835769_veneer_%d", num_fixes); return stub_name; } @@ -3992,6 +3993,8 @@ _bfd_aarch64_erratum_843419_fixup (uint32_t insn, struct elf_aarch64_stub_hash_entry *stub_entry; stub_name = _bfd_aarch64_erratum_843419_stub_name (section, ldst_offset); + if (stub_name == NULL) + return FALSE; stub_entry = aarch64_stub_hash_lookup (&htab->stub_hash_table, stub_name, FALSE, FALSE); if (stub_entry) @@ -4009,8 +4012,7 @@ _bfd_aarch64_erratum_843419_fixup (uint32_t insn, If we placed workaround veneers in any other stub section then we could not assume that all relocations have been processed on the corresponding input section at the point we output the stub - section. - */ + section. */ stub_entry = _bfd_aarch64_add_stub_entry_after (stub_name, section, htab); if (stub_entry == NULL) |