* section.c (bfd_make_section_anyway): Release newsect ptr when
authorAlan Modra <amodra@gmail.com>
Tue, 10 Oct 2000 15:23:38 +0000 (15:23 +0000)
committerAlan Modra <amodra@gmail.com>
Tue, 10 Oct 2000 15:23:38 +0000 (15:23 +0000)
newsect->symbol fails to alloc.  Use bfd_release instead of free.

bfd/ChangeLog
bfd/section.c

index 249a4bf2253ef18730b694648293f04c4fafa59c..5ab46c3b1e300e1d4264d78f9f69a6ebedb7358c 100644 (file)
@@ -1,3 +1,8 @@
+2000-10-10  Tom Rix <trix@redhat.com>
+
+       * section.c (bfd_make_section_anyway): Release newsect ptr when 
+       newsect->symbol fails to alloc.  Use bfd_release instead of free.
+
 2000-10-09  Richard Henderson  <rth@cygnus.com
 
        * elf64-ia64.c (elf64_ia64_unwind_entry_compare_bfd): New.
index 4c858f686d8a8aee80f587ea96de3a4a840d5cf8..fc64b2019fbe596fedc84acd8f51ea7a3ac6a8ed 100644 (file)
@@ -795,7 +795,10 @@ bfd_make_section_anyway (abfd, name)
      section.  */
   newsect->symbol = bfd_make_empty_symbol (abfd);
   if (newsect->symbol == NULL)
-    return NULL;
+    {
+      bfd_release (abfd, newsect);
+      return NULL;
+    }
   newsect->symbol->name = name;
   newsect->symbol->value = 0;
   newsect->symbol->section = newsect;
@@ -805,7 +808,7 @@ bfd_make_section_anyway (abfd, name)
 
   if (BFD_SEND (abfd, _new_section_hook, (abfd, newsect)) != true)
     {
-      free (newsect);
+      bfd_release (abfd, newsect);
       return NULL;
     }