xtensa: sprintf sanitizer null destination pointer
Alan Modra
amodra@gmail.com
Thu Aug 3 11:46:03 GMT 2023
* config/tc-xtensa.c (xtensa_add_config_info): Use auto buffer
rather than malloc. Use sprintf return value.
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index fd3ed067659..025376be9a9 100644
--- a/gas/config/tc-xtensa.c
+++ b/gas/config/tc-xtensa.c
@@ -8979,16 +8979,15 @@ static void
xtensa_add_config_info (void)
{
asection *info_sec;
- char *data, *p;
+ char data[100];
+ char *p;
int sz;
info_sec = subseg_new (".xtensa.info", 0);
bfd_set_section_flags (info_sec, SEC_HAS_CONTENTS | SEC_READONLY);
- data = XNEWVEC (char, 100);
- sprintf (data, "USE_ABSOLUTE_LITERALS=%d\nABI=%d\n",
- XSHAL_USE_ABSOLUTE_LITERALS, xtensa_abi_choice ());
- sz = strlen (data) + 1;
+ sz = 1 + sprintf (data, "USE_ABSOLUTE_LITERALS=%d\nABI=%d\n",
+ XSHAL_USE_ABSOLUTE_LITERALS, xtensa_abi_choice ());
/* Add enough null terminators to pad to a word boundary. */
do
@@ -9015,8 +9014,6 @@ xtensa_add_config_info (void)
/* Finally, write the descriptor. */
p = frag_more (sz);
memcpy (p, data, sz);
-
- free (data);
}
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list