diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/process.zig | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/lib/process.zig b/src/lib/process.zig index 641de7e..907e57d 100644 --- a/src/lib/process.zig +++ b/src/lib/process.zig @@ -151,8 +151,7 @@ pub fn create(allocator: std.mem.Allocator, elf_buf: []align(@alignOf(elf.Elf64_ var it = hdr.program_header_iterator(parse_source); while (try it.next()) |phdr| { if (phdr.p_type != elf.PT_LOAD) continue; - if (phdr.p_filesz == 0) continue; - if (phdr.p_memsz == 0) continue; + if (phdr.p_filesz == 0 or phdr.p_memsz == 0) continue; if (phdr.p_filesz != phdr.p_memsz) return ExeError.SizeMismatch; // fixme: Could crash (out-of-bounds read). |