* opncls.c (bfd_close): Until BFD_IN_MEMORY has an iovec,

at least don't leak memory.
This commit is contained in:
Doug Evans 2009-08-16 17:32:35 +00:00
parent ca89244108
commit 440ae135a8
2 changed files with 16 additions and 5 deletions

View file

@ -1,3 +1,8 @@
2009-08-16 Doug Evans <dje@google.com>
* opncls.c (bfd_close): Until BFD_IN_MEMORY has an iovec,
at least don't leak memory.
2009-08-13 DJ Delorie <dj@redhat.com>
* elf32-m32c.c (m32c_elf_relax_delete_bytes): Adjust symbol sizes

View file

@ -703,12 +703,18 @@ bfd_close (bfd *abfd)
if (! BFD_SEND (abfd, _close_and_cleanup, (abfd)))
return FALSE;
/* FIXME: cagney/2004-02-15: Need to implement a BFD_IN_MEMORY io
vector. */
if (!(abfd->flags & BFD_IN_MEMORY))
ret = abfd->iovec->bclose (abfd);
if ((abfd->flags & BFD_IN_MEMORY) != 0)
{
/* FIXME: cagney/2004-02-15: Need to implement a BFD_IN_MEMORY io
vector.
Until that's done, at least don't leak memory. */
struct bfd_in_memory *bim = abfd->iostream;
free (bim->buffer);
free (bim);
ret = TRUE;
}
else
ret = TRUE;
ret = abfd->iovec->bclose (abfd);
if (ret)
_maybe_make_executable (abfd);