~vcs-imports/busybox/trunk

« back to all changes in this revision

Viewing changes to shell/ash.c

  • Committer: Denys Vlasenko
  • Author(s): Ron Yorston
  • Date: 2024-09-27 19:29:05 UTC
  • Revision ID: git-v1:24aa93d5382f2365c35d6e804b748e0a1febf2f6
ash: reject unknown long options

Commit 64f70cc755 (Add --login support) added code in options()
to handle the bash-compatible '--login' option.  In doing so it
committed BusyBox ash to silently accepting all other long
options.

Restore compatibility with other ash variants by rejecting unknown
long options.

function                                             old     new   delta
options                                              589     624     +35

Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>

Show diffs side-by-side

added added

removed removed

Lines of Context:
11502
11502
                                if (val && (c == '-')) { /* long options */
11503
11503
                                        if (strcmp(p, "login") == 0) {
11504
11504
                                                *login_sh = 1;
 
11505
                                                break;
11505
11506
                                        }
11506
11507
/* TODO: --noprofile: e.g. if I want to run emergency shell from sulogin,
11507
11508
 * I want minimal/no shell init scripts - but it insists on running it as "-ash"...
11508
11509
 */
11509
 
                                        break;
 
11510
                                        ash_msg_and_raise_error("bad option '%s'", p - 2);
11510
11511
                                }
11511
11512
                        }
11512
11513
                        if (c == 'o') {