aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2018-06-25 12:49:14 +0100
committerNick Clifton <nickc@redhat.com>2018-06-25 12:49:14 +0100
commitbb69498c61638ea88b626f78e911afa74ed22da6 (patch)
treef9d6c14de6d7b8e4543dcf36fdffa4692f1c7d62 /bfd
parentc1080aae0f87ad55d1fc6003c76dc093b3c0749d (diff)
downloadfsf-binutils-gdb-bb69498c61638ea88b626f78e911afa74ed22da6.zip
fsf-binutils-gdb-bb69498c61638ea88b626f78e911afa74ed22da6.tar.gz
fsf-binutils-gdb-bb69498c61638ea88b626f78e911afa74ed22da6.tar.bz2
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/ChangeLog7
-rw-r--r--bfd/elfnn-aarch64.c8
2 files changed, 12 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 456ae66..9a288b0 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 3ccca77..cf321f3 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)