summaryrefslogtreecommitdiffstats
path: root/sys/kern/imgact_elf.c
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2008-10-08 11:11:36 +0000
committerkib <kib@FreeBSD.org>2008-10-08 11:11:36 +0000
commit997f16fb434f252daeb5377b1cb6bb9e1f7a5ea3 (patch)
treea7d82753ff9eeb8db2456668a649ca05f40a36b9 /sys/kern/imgact_elf.c
parentca86878f8ef29199f5f364805feee84e55568984 (diff)
downloadFreeBSD-src-997f16fb434f252daeb5377b1cb6bb9e1f7a5ea3.zip
FreeBSD-src-997f16fb434f252daeb5377b1cb6bb9e1f7a5ea3.tar.gz
If the ABI-overriden interpreter was not loaded, do not set
have_interp to TRUE. This allows the code in image activator to try /libexec/ld-elf.so.1 as interpreter when newinterp is not found to execute. Reviewed by: peter MFC after: 2 weeks (together with r175105)
Diffstat (limited to 'sys/kern/imgact_elf.c')
-rw-r--r--sys/kern/imgact_elf.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c
index bec4b68..af78e55 100644
--- a/sys/kern/imgact_elf.c
+++ b/sys/kern/imgact_elf.c
@@ -813,7 +813,8 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp)
if (!have_interp && newinterp != NULL) {
error = __elfN(load_file)(imgp->proc, newinterp, &addr,
&imgp->entry_addr, sv->sv_pagesize);
- have_interp = TRUE;
+ if (error == 0)
+ have_interp = TRUE;
}
if (!have_interp) {
error = __elfN(load_file)(imgp->proc, interp, &addr,
OpenPOWER on IntegriCloud