diff options
author | kib <kib@FreeBSD.org> | 2008-10-08 11:11:36 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2008-10-08 11:11:36 +0000 |
commit | 997f16fb434f252daeb5377b1cb6bb9e1f7a5ea3 (patch) | |
tree | a7d82753ff9eeb8db2456668a649ca05f40a36b9 /sys/kern/imgact_elf.c | |
parent | ca86878f8ef29199f5f364805feee84e55568984 (diff) | |
download | FreeBSD-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.c | 3 |
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, |