tree b6dfb075714ab2e72afd8f18a42e556e2cddab87
parent 0e4e9aa0a7727819a0b5b240617f8f4243c4c80f
author Alan Modra <amodra@gmail.com> 1735734179 +1030
committer Alan Modra <amodra@gmail.com> 1735734179 +1030

readelf memory leaks

This fixes multiple readelf memory leaks:
- The check functions used to validate separate debug info files
  opened and read file data but didn't release the memory nor close
  the file.
- A string table was being re-read into a buffer, leaking the old
  contents.
- Decompressed section contents leaked.

	* dwarf.c (check_gnu_debuglink): Always call close_debug_file.
	(check_gnu_debugaltlink): Likewise.
	* readelf.c (process_section_headers): Don't read string_table
	again if we already have it.
	(maybe_expand_or_relocate_section): Add decomp_buf param to
	return new uncompressed buffer.
	(dump_section_as_strings, filedata->string_table): Free any
	uncompressed buffer.
	(process_file): Call close_debug_file rather than freeing
	various filedata components.
