gnu_debuglink related memory leak

Message ID Z3U4IzBPIcQ1Bddx@squeak.grove.modra.org
State New
Headers
Series gnu_debuglink related memory leak |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_binutils_build--master-arm fail Patch failed to apply
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 fail Patch failed to apply

Commit Message

Alan Modra Jan. 1, 2025, 12:42 p.m. UTC
  * opncls.c (bfd_fill_in_gnu_debuglink_section): Free section
	contents on success too.
  

Patch

diff --git a/bfd/opncls.c b/bfd/opncls.c
index fb0bca7689a..a0b30f568d7 100644
--- a/bfd/opncls.c
+++ b/bfd/opncls.c
@@ -1768,7 +1768,7 @@  bfd_fill_in_gnu_debuglink_section (bfd *abfd,
   debuglink_size &= ~3;
   debuglink_size += 4;
 
-  contents = (char *) bfd_malloc (debuglink_size);
+  contents = bfd_malloc (debuglink_size);
   if (contents == NULL)
     {
       /* XXX Should we delete the section from the bfd ?  */
@@ -1781,14 +1781,9 @@  bfd_fill_in_gnu_debuglink_section (bfd *abfd,
 
   bfd_put_32 (abfd, crc32, contents + crc_offset);
 
-  if (! bfd_set_section_contents (abfd, sect, contents, 0, debuglink_size))
-    {
-      /* XXX Should we delete the section from the bfd ?  */
-      free (contents);
-      return false;
-    }
-
-  return true;
+  bool ret = bfd_set_section_contents (abfd, sect, contents, 0, debuglink_size);
+  free (contents);
+  return ret;
 }
 
 /* Finds the build-id associated with @var{abfd}.  If the build-id is