Browse Source

2007-07-26 Michael Snyder <msnyder@access-company.com>

* coffgen.c (_bfd_coff_read_internal_relocs): If internal_relocs
	are not to be cached, free the temporary buffer.
binutils-2_18-branch
Michael Snyder 19 years ago
parent
commit
44c62d9e24
  1. 3
      bfd/ChangeLog
  2. 21
      bfd/coffgen.c

3
bfd/ChangeLog

@ -1,5 +1,8 @@
2007-07-26 Michael Snyder <msnyder@access-company.com>
* coffgen.c (_bfd_coff_read_internal_relocs): If internal_relocs
are not to be cached, free the temporary buffer.
* aoutx.h (slurp_reloc_table): Return TRUE if reloc_size == zero
or count == zero.

21
bfd/coffgen.c

@ -457,17 +457,22 @@ _bfd_coff_read_internal_relocs (bfd *abfd,
free_external = NULL;
}
if (cache && free_internal != NULL)
if (free_internal != NULL)
{
if (coff_section_data (abfd, sec) == NULL)
if (cache)
free (free_internal);
else
{
amt = sizeof (struct coff_section_tdata);
sec->used_by_bfd = bfd_zalloc (abfd, amt);
if (sec->used_by_bfd == NULL)
goto error_return;
coff_section_data (abfd, sec)->contents = NULL;
if (coff_section_data (abfd, sec) == NULL)
{
amt = sizeof (struct coff_section_tdata);
sec->used_by_bfd = bfd_zalloc (abfd, amt);
if (sec->used_by_bfd == NULL)
goto error_return;
coff_section_data (abfd, sec)->contents = NULL;
}
coff_section_data (abfd, sec)->relocs = free_internal;
}
coff_section_data (abfd, sec)->relocs = free_internal;
}
return internal_relocs;

Loading…
Cancel
Save