coff: free malloc'd memory on successful target match too

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

coff: free malloc'd memory on successful target match too

Alan Modra-3
object_p functions cannot allocate memory by malloc and not free it
before returning.  Even a successful target match may not be the best
match.  If a match isn't used then those malloc'd blocks won't be
freed.

        * coffgen.c (coff_real_object_p): Free malloc'd memory on target
        match too.

diff --git a/bfd/coffgen.c b/bfd/coffgen.c
index 68b81ec588..2bfcf1a6b1 100644
--- a/bfd/coffgen.c
+++ b/bfd/coffgen.c
@@ -302,6 +302,9 @@ coff_real_object_p (bfd *abfd,
  }
     }
 
+  obj_coff_keep_syms (abfd) = FALSE;
+  obj_coff_keep_strings (abfd) = FALSE;
+  _bfd_coff_free_symbols (abfd);
   return abfd->xvec;
 
  fail:

--
Alan Modra
Australia Development Lab, IBM