plugin_get_ir_dummy_bfd leak
Alan Modra
amodra@gmail.com
Thu Jan 16 22:07:14 GMT 2025
* plugin.c (plugin_get_ir_dummy_bfd): Free bfd filename.
diff --git a/ld/plugin.c b/ld/plugin.c
index ea0c6fcdd67..4a21d130742 100644
--- a/ld/plugin.c
+++ b/ld/plugin.c
@@ -315,12 +315,11 @@ plugin_opt_plugin_arg (const char *arg)
static bfd *
plugin_get_ir_dummy_bfd (const char *name, bfd *srctemplate)
{
- bfd *abfd;
- bool bfd_plugin_target;
-
- bfd_plugin_target = bfd_plugin_target_p (srctemplate->xvec);
- abfd = bfd_create (concat (name, IRONLY_SUFFIX, (const char *) NULL),
- bfd_plugin_target ? link_info.output_bfd : srctemplate);
+ bool bfd_plugin_target = bfd_plugin_target_p (srctemplate->xvec);
+ char *filename = concat (name, IRONLY_SUFFIX, (const char *) NULL);
+ bfd *abfd = bfd_create (filename, (bfd_plugin_target
+ ? link_info.output_bfd : srctemplate));
+ free (filename);
if (abfd != NULL)
{
abfd->flags |= BFD_LINKER_CREATED | BFD_PLUGIN;
--
Alan Modra
More information about the Binutils
mailing list