mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-24 20:28:28 +08:00
Check the external compression header size
Since the internal compression header size can be bigger than the external compression header size, we should check the external compression header size. * readelf.c (load_specific_debug_section): Check the external compression header size.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2016-08-29 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
* readelf.c (load_specific_debug_section): Check the external
|
||||||
|
compression header size.
|
||||||
|
|
||||||
2016-08-19 Nick Clifton <nickc@redhat.com>
|
2016-08-19 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* testsuite/binutils-all/readelf.s: Adjust expected ordering of
|
* testsuite/binutils-all/readelf.s: Adjust expected ordering of
|
||||||
@ -17,9 +22,9 @@
|
|||||||
off the end of the section when populating the directory table and
|
off the end of the section when populating the directory table and
|
||||||
file table.
|
file table.
|
||||||
(frame_display_row): Set max_regs equal to ncols.
|
(frame_display_row): Set max_regs equal to ncols.
|
||||||
(load_specific_debug_section): If the section is compressed, but
|
* readelf.c (load_specific_debug_section): If the section is
|
||||||
it is not big enough to hold a compression header then warn and
|
compressed, but it is not big enough to hold a compression
|
||||||
return 0.
|
header then warn and return 0.
|
||||||
|
|
||||||
PR binutils/20439
|
PR binutils/20439
|
||||||
* dwarf.c (display_debug_lines_decoded): Check directory and file
|
* dwarf.c (display_debug_lines_decoded): Check directory and file
|
||||||
|
@ -12706,7 +12706,9 @@ load_specific_debug_section (enum dwarf_section_display_enum debug,
|
|||||||
Elf_Internal_Chdr chdr;
|
Elf_Internal_Chdr chdr;
|
||||||
unsigned int compression_header_size;
|
unsigned int compression_header_size;
|
||||||
|
|
||||||
if (size < sizeof chdr)
|
if (size < (is_32bit_elf
|
||||||
|
? sizeof (Elf32_External_Chdr)
|
||||||
|
: sizeof (Elf64_External_Chdr)))
|
||||||
{
|
{
|
||||||
warn (_("compressed section %s is too small to contain a compression header"),
|
warn (_("compressed section %s is too small to contain a compression header"),
|
||||||
section->name);
|
section->name);
|
||||||
|
Reference in New Issue
Block a user