fix(elf2image): Handle ELF files with zero program header counts

The program header table can describe zero or more segments. However,
commit ca16d5f3 introduced checks in _read_segments() that will fail
on a zero number of program header entries.

Simply return early and skip these checks in _read_segments() if
e_phnum is zero.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
This commit is contained in:
Tormod Volden
2025-08-28 08:37:03 +02:00
parent da4346b86e
commit d27ce37a9c

View File

@@ -1434,6 +1434,8 @@ class ELFFile:
)
def _read_segments(self, f, segment_header_offs, segment_header_count, shstrndx):
if segment_header_count == 0:
return
f.seek(segment_header_offs)
len_bytes = segment_header_count * self.LEN_SEG_HEADER
segment_header = f.read(len_bytes)