X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=fs%2Fbinfmt_elf.c;h=c2eac2a50bd266889786d9eb825fdb96fa1e2d19;hb=bc0fb201b34b12e2d16e8cbd5bb078c1db936304;hp=1b117a441298048b29fc8f4c405d0bfb864852ae;hpb=292dd876ee765c478b27c93cc51e93a558ed58bf;p=powerpc.git diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index 1b117a4412..c2eac2a50b 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -938,6 +938,11 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) kfree(elf_interpreter); } else { elf_entry = loc->elf_ex.e_entry; + if (BAD_ADDR(elf_entry)) { + send_sig(SIGSEGV, current, 0); + retval = -ENOEXEC; /* Nobody gets to see this, but.. */ + goto out_free_dentry; + } } kfree(elf_phdata);