From 6f7ac603f2e041fded7be32f28f4c7e1ade691b3 Mon Sep 17 00:00:00 2001 From: Lionel Sambuc Date: Mon, 8 Sep 2014 10:16:41 +0200 Subject: [PATCH] Allow elf_unpack to withstand invalid ELF headers Change-Id: I10a0f3111176b9614b8531d6736e2e860eb95ce4 --- minix/lib/libexec/exec_elf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/minix/lib/libexec/exec_elf.c b/minix/lib/libexec/exec_elf.c index f6d8d21cd..fca784aeb 100644 --- a/minix/lib/libexec/exec_elf.c +++ b/minix/lib/libexec/exec_elf.c @@ -58,7 +58,8 @@ static int elf_ph_sane(Elf_Phdr *phdr) static int elf_unpack(char *exec_hdr, int hdr_len, Elf_Ehdr **hdr, Elf_Phdr **phdr) { - assert(hdr_len >= sizeof(Elf_Ehdr)); + if(hdr_len < sizeof(Elf_Ehdr)) + return ENOEXEC; *hdr = (Elf_Ehdr *) exec_hdr; if(!elf_sane(*hdr)) { -- 2.44.0