From: Ron Yorston Date: Mon, 5 Nov 2018 13:13:08 +0000 (+0000) Subject: ash: minor fixes X-Git-Tag: 1_30_0~404 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=8767c12774d9392565f20d3ea4e28bb1b6075a31;p=oweals%2Fbusybox.git ash: minor fixes Ensure that login_sh is initialised in procargs even when running an embedded script. The argc argument to ash_main isn't unused when embedded scripts are present. Signed-off-by: Ron Yorston Signed-off-by: Denys Vlasenko --- diff --git a/shell/ash.c b/shell/ash.c index 88f2b5bd6..90eaf6faf 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -14052,11 +14052,11 @@ procargs(char **argv) int login_sh; xargv = argv; + login_sh = xargv[0] && xargv[0][0] == '-'; #if NUM_SCRIPTS > 0 if (minusc) goto setarg0; #endif - login_sh = xargv[0] && xargv[0][0] == '-'; arg0 = xargv[0]; /* if (xargv[0]) - mmm, this is always true! */ xargv++; @@ -14164,7 +14164,11 @@ extern int etext(); * is used to figure out how far we had gotten. */ int ash_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; +#if NUM_SCRIPTS > 0 +int ash_main(int argc, char **argv) +#else int ash_main(int argc UNUSED_PARAM, char **argv) +#endif /* note: 'argc' is used only if embedded scripts are enabled */ { volatile smallint state;