[PATCH] ash: return exit status of nofork applets

Ron Yorston rmy at pobox.com
Thu Oct 20 11:24:02 UTC 2016


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>
---
 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
-- 
2.7.4



More information about the busybox mailing list