
From: Roland McGrath <roland@redhat.com>

Julie DeWandel noticed that in the error case where elf_map has failed,
load_elf_interp will (at the out_close: label) return the `error' variable,
but that will contain the result of a prior operation and not the error
number from elf_map.



---

 fs/binfmt_elf.c |    1 +
 1 files changed, 1 insertion(+)

diff -puN fs/binfmt_elf.c~load_elf_interp-error-case-fix fs/binfmt_elf.c
--- 25/fs/binfmt_elf.c~load_elf_interp-error-case-fix	2004-01-13 21:41:12.000000000 -0800
+++ 25-akpm/fs/binfmt_elf.c	2004-01-13 21:41:12.000000000 -0800
@@ -349,6 +349,7 @@ static unsigned long load_elf_interp(str
 	    	elf_type |= MAP_FIXED;
 
 	    map_addr = elf_map(interpreter, load_addr + vaddr, eppnt, elf_prot, elf_type);
+	    error = map_addr;
 	    if (BAD_ADDR(map_addr))
 	    	goto out_close;
 

_
