Check asprintf return value
Alan Modra
amodra@gmail.com
Wed Feb 20 08:31:00 GMT 2019
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
More information about the Binutils
mailing list