This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Check asprintf return value
- From: Alan Modra <amodra at gmail dot com>
- To: binutils at sourceware dot org
- Date: Wed, 20 Feb 2019 19:01:45 +1030
- Subject: Check asprintf return value
git a31b8bd9a05 introduced a warning (depending on your system
headers).
PR 24225
* elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf
return value.
diff --git a/bfd/elf32-nios2.c b/bfd/elf32-nios2.c
index b0f200d0f8..5d787eb2f4 100644
--- a/bfd/elf32-nios2.c
+++ b/bfd/elf32-nios2.c
@@ -3821,7 +3821,9 @@ nios2_elf32_relocate_section (bfd *output_bfd,
format = _("global pointer relative relocation at address "
"%#" PRIx64 " when _gp not defined\n");
- asprintf (&msgbuf, format, (uint64_t) reloc_address);
+ if (asprintf (&msgbuf, format,
+ (uint64_t) reloc_address) == -1)
+ msgbuf = NULL;
msg = msgbuf;
r = bfd_reloc_dangerous;
}
@@ -3851,9 +3853,10 @@ nios2_elf32_relocate_section (bfd *output_bfd,
"the global pointer (at %#" PRIx64 ") "
"because the offset (%" PRId64 ") is out of "
"the allowed range, -32678 to 32767\n" );
- asprintf (&msgbuf, format, name,
- (uint64_t) symbol_address, (uint64_t) gp,
- (int64_t) relocation);
+ if (asprintf (&msgbuf, format, name,
+ (uint64_t) symbol_address, (uint64_t) gp,
+ (int64_t) relocation) == -1)
+ msgbuf = NULL;
msg = msgbuf;
r = bfd_reloc_outofrange;
}
--
Alan Modra
Australia Development Lab, IBM