coff object_p memory leaks
[deliverable/binutils-gdb.git] / bfd / coffgen.c
index 7f26e18c4509167b54eac29046e47960211fdba1..34d8d50506a51a7b6bd66b78ccc9bf144ecb9bfb 100644 (file)
@@ -305,6 +305,9 @@ coff_real_object_p (bfd *abfd,
   return abfd->xvec;
 
  fail:
+  obj_coff_keep_syms (abfd) = FALSE;
+  obj_coff_keep_strings (abfd) = FALSE;
+  _bfd_coff_free_symbols (abfd);
   bfd_release (abfd, tdata);
  fail2:
   abfd->tdata.any = tdata_save;
@@ -3161,3 +3164,18 @@ bfd_coff_group_name (bfd *abfd, const asection *sec)
     return ci->name;
   return NULL;
 }
+
+bfd_boolean
+_bfd_coff_close_and_cleanup (bfd *abfd)
+{
+  if (abfd->format == bfd_object
+      && bfd_family_coff (abfd)
+      && coff_data (abfd) != NULL)
+    {
+      obj_coff_keep_syms (abfd) = FALSE;
+      obj_coff_keep_strings (abfd) = FALSE;
+      if (!_bfd_coff_free_symbols (abfd))
+       return FALSE;
+    }
+  return _bfd_generic_close_and_cleanup (abfd);
+}
This page took 0.02754 seconds and 4 git commands to generate.