mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-11 18:20:43 +09:00
LibElf+readelf: Parse ELFs with no program headers correctly
This simply fixes a check which assumed the program header count was always non zero.
This commit is contained in:
parent
ba0df27653
commit
eab151c994
Notes:
sideshowbarker
2024-07-18 20:58:14 +09:00
Author: https://github.com/IdanHo
Commit: eab151c994
Pull-request: https://github.com/SerenityOS/serenity/pull/6005
2 changed files with 21 additions and 17 deletions
|
@ -95,7 +95,7 @@ bool validate_elf_header(const Elf32_Ehdr& elf_header, size_t file_size, bool ve
|
|||
return false;
|
||||
}
|
||||
|
||||
if (elf_header.e_phoff < elf_header.e_ehsize || (elf_header.e_shnum != SHN_UNDEF && elf_header.e_shoff < elf_header.e_ehsize)) {
|
||||
if ((elf_header.e_phnum != 0 && elf_header.e_phoff < elf_header.e_ehsize) || (elf_header.e_shnum != SHN_UNDEF && elf_header.e_shoff < elf_header.e_ehsize)) {
|
||||
if (verbose) {
|
||||
dbgln("SHENANIGANS! program header offset ({}) or section header offset ({}) overlap with ELF header!",
|
||||
elf_header.e_phoff, elf_header.e_shoff);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue