From: Alan Modra Date: Wed, 2 Aug 2023 22:37:54 +0000 (+0930) Subject: wrstabs: sprintf sanitizer null destination pointer X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d191eacb7b5b23872eb955c880e72b811892561a;p=binutils-gdb.git wrstabs: sprintf sanitizer null destination pointer gcc-2.12 seems to be ignoring __attribute__((__returns_nonnull__)) on xmalloc. * wrstabs.c (stab_method_type): Use stpcpy rather than sprintf or strcat. --- diff --git a/binutils/wrstabs.c b/binutils/wrstabs.c index 234a96f98a3..955b610cd59 100644 --- a/binutils/wrstabs.c +++ b/binutils/wrstabs.c @@ -1202,17 +1202,21 @@ stab_method_type (void *p, bool domainp, int argcount, len += strlen (args[i]); buf = xmalloc (len); - - sprintf (buf, "#%s,%s", domain, return_type); + char *out = buf; + *out++ = '#'; + out = stpcpy (out, domain); + *out++ = ','; + out = stpcpy (out, return_type); free (domain); free (return_type); for (i = 0; i < argcount; i++) { - strcat (buf, ","); - strcat (buf, args[i]); + *out++ = ','; + out = stpcpy (out, args[i]); free (args[i]); } - strcat (buf, ";"); + *out++ = ';'; + *out = 0; free (args);