+2012-12-18 Mark Wielaard <mjw@redhat.com>
+
+ * dwarf_begin_elf.c (valid_p): Call Dwarf_Sig8_Hash_free if invalid.
+ (check_section): Likewise on error.
+ (scngrp_read): Likewise.
+ (dwarf_begin_elf): Likewise.
+
2012-10-09 Petr Machata <pmachata@redhat.com>
* dwarf_getlocation.c (__libdw_intern_expression): Handle
/* The section name must be valid. Otherwise is the ELF file
invalid. */
__libdw_free_zdata (result);
+ Dwarf_Sig8_Hash_free (&result->sig8_hash);
__libdw_seterrno (DWARF_E_INVALID_ELF);
free (result);
return NULL;
&& unlikely (result->sectiondata[IDX_debug_info] == NULL))
{
__libdw_free_zdata (result);
+ Dwarf_Sig8_Hash_free (&result->sig8_hash);
__libdw_seterrno (DWARF_E_NO_DWARF);
free (result);
result = NULL;
{
/* We cannot read the section content. Fail! */
__libdw_free_zdata (result);
+ Dwarf_Sig8_Hash_free (&result->sig8_hash);
free (result);
return NULL;
}
/* A section group refers to a non-existing section. Should
never happen. */
__libdw_free_zdata (result);
+ Dwarf_Sig8_Hash_free (&result->sig8_hash);
__libdw_seterrno (DWARF_E_INVALID_ELF);
free (result);
return NULL;
}
else if (cmd == DWARF_C_WRITE)
{
+ Dwarf_Sig8_Hash_free (&result->sig8_hash);
__libdw_seterrno (DWARF_E_UNIMPL);
free (result);
return NULL;
}
+ Dwarf_Sig8_Hash_free (&result->sig8_hash);
__libdw_seterrno (DWARF_E_INVALID_CMD);
free (result);
return NULL;