From 19683dbaa81bd417f7bd0658334b1936c1c226dc Mon Sep 17 00:00:00 2001 From: Max Wash Date: Mon, 20 Apr 2026 22:14:11 +0100 Subject: [PATCH] ld: zero-init data segment before reading contents from executable --- sys/ld/elf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/ld/elf.c b/sys/ld/elf.c index 5601a2f..8cbc7ad 100644 --- a/sys/ld/elf.c +++ b/sys/ld/elf.c @@ -176,6 +176,7 @@ static int map_image(struct elf_image *image) if (phdr.p_flags & PF_W) { lseek(image->e_fd, phdr.p_offset, SEEK_SET); void *dst = (void *)image->e_base + phdr.p_vaddr; + memset(dst, 0x0, phdr.p_memsz); r = read(image->e_fd, dst, phdr.p_filesz); if (r < 0) { return -r;