[git commit] ash: return exit status of nofork applets

Denys Vlasenko vda.linux at googlemail.com
Sun Oct 23 23:18:13 UTC 2016


commit: https://git.busybox.net/busybox/commit/?id=5ccb0e92faf90e1e9125da434b9c37e85d0aaf28
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

The commit 'ash: eval: Return status in eval functions' changed how
exit status is handled in eval functions.  The case of nofork
applets was missed, resulting in the incorrect status potentially
being returned for nofork applets when FEATURE_SH_NOFORK is enabled.

Signed-off-by: Ron Yorston <rmy at pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 shell/ash.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/shell/ash.c b/shell/ash.c
index 50f479d..c9d39b8 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -9576,7 +9576,7 @@ evalcommand(union node *cmd, int flags)
 		if (applet_no >= 0 && APPLET_IS_NOFORK(applet_no)) {
 			listsetvar(varlist.list, VEXPORT|VSTACK);
 			/* run <applet>_main() */
-			exitstatus = run_nofork_applet(applet_no, argv);
+			status = run_nofork_applet(applet_no, argv);
 			break;
 		}
 #endif


More information about the busybox-cvs mailing list