Tidy up ar_open by using asprintf to replace xmalloc and sprintf.

PR 24649
	* arsup.c (ar_open): Use asprintf in place of xmalloc and
	sprintf.
This commit is contained in:
Christos Zoulas 2019-06-10 13:15:23 +01:00 committed by Nick Clifton
parent a3972330f4
commit 2e02f29632
2 changed files with 15 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2019-06-10 Christos Zoulas <christos@zoulas.com>
PR 24649
* arsup.c (ar_open): Use asprintf in place of xmalloc and
sprintf.
2019-06-03 Nick Clifton <nickc@redhat.com>
Revert:

View File

@ -149,13 +149,20 @@ maybequit (void)
void
ar_open (char *name, int t)
{
char *tname = (char *) xmalloc (strlen (name) + 10);
char *tname;
const char *bname = lbasename (name);
real_name = name;
/* Prepend tmp- to the beginning, to avoid file-name clashes after
truncation on filesystems with limited namespaces (DOS). */
sprintf (tname, "%.*stmp-%s", (int) (bname - name), name, bname);
if (asprintf (&tname, "%.*stmp-%s", (int) (bname - name), name, bname) == -1)
{
fprintf (stderr, _("%s: Can't allocate memory for temp name (%s)\n"),
program_name, strerror(errno));
maybequit ();
return;
}
obfd = bfd_openw (tname, NULL);
if (!obfd)