aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-xtensa.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2023-08-03 08:56:24 +0930
committerAlan Modra <amodra@gmail.com>2023-08-03 21:19:54 +0930
commitebfd369c3e9c18318c46d4ddc3ad016905d975ea (patch)
tree99d4d34be7fb4e5982a4ec4bb9dd94bdb1ac4ade /gas/config/tc-xtensa.c
parenteaf1fa5ac5972efe5041c835c3ac9fec3c6aa06c (diff)
downloadbinutils-ebfd369c3e9c18318c46d4ddc3ad016905d975ea.zip
binutils-ebfd369c3e9c18318c46d4ddc3ad016905d975ea.tar.gz
binutils-ebfd369c3e9c18318c46d4ddc3ad016905d975ea.tar.bz2
xtensa: sprintf sanitizer null destination pointer
* config/tc-xtensa.c (xtensa_add_config_info): Use auto buffer rather than malloc. Use sprintf return value.
Diffstat (limited to 'gas/config/tc-xtensa.c')
-rw-r--r--gas/config/tc-xtensa.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index fd3ed06..025376b 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);
}