/* ELF emulation code for targets using elf.em.
- Copyright (C) 1991-2022 Free Software Foundation, Inc.
+ Copyright (C) 1991-2023 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
else
{
char * current_dir = getpwd ();
-
- freeme = xmalloc (strlen (replacement)
- + strlen (current_dir) + 2);
- sprintf (freeme, "%s/%s", current_dir, replacement);
+ size_t cdir_len = strlen (current_dir);
+ size_t rep_len = strlen (replacement);
+ freeme = xmalloc (cdir_len + rep_len + 2);
+ memcpy (freeme, current_dir, cdir_len);
+ freeme[cdir_len] = '/';
+ memcpy (freeme + cdir_len + 1,
+ replacement, rep_len + 1);
}
replacement = freeme;
{
struct elf_link_hash_table *htab = elf_hash_table (&link_info);
- if (!is_elf_hash_table (&htab->root))
+ if (!link_info.lto_plugin_active
+ || !is_elf_hash_table (&htab->root))
return;
htab->handling_dt_needed = true;