ash: return exit status of nofork applets

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@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Ron Yorston 2016-10-20 12:24:02 +01:00 committed by Denys Vlasenko
parent 6bbb48fadf
commit 5ccb0e92fa

View File

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