xtensa: sprintf sanitizer null destination pointer

Message ID ZMuTe1aQfkByXS6M@squeak.grove.modra.org
State Accepted
Headers
Series xtensa: sprintf sanitizer null destination pointer |

Checks

Context Check Description
snail/binutils-gdb-check success Github commit url

Commit Message

Alan Modra Aug. 3, 2023, 11:46 a.m. UTC
  * config/tc-xtensa.c (xtensa_add_config_info): Use auto buffer
	rather than malloc.  Use sprintf return value.
  

Patch

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);
 }