mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-04-20 07:16:46 +02:00
44 lines
1.5 KiB
Diff
44 lines
1.5 KiB
Diff
From 24aa93d5382f2365c35d6e804b748e0a1febf2f6 Mon Sep 17 00:00:00 2001
|
|
From: Ron Yorston <rmy@pobox.com>
|
|
Date: Mon, 23 Sep 2024 12:44:28 +0100
|
|
Subject: [PATCH] ash: reject unknown long options
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
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>
|
|
Signed-off-by: Sören Tempel <soeren+git@soeren-tempel.net>
|
|
---
|
|
shell/ash.c | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/shell/ash.c b/shell/ash.c
|
|
index bbd730770..8e029765d 100644
|
|
--- a/shell/ash.c
|
|
+++ b/shell/ash.c
|
|
@@ -11502,11 +11502,12 @@ options(int *login_sh)
|
|
if (val && (c == '-')) { /* long options */
|
|
if (strcmp(p, "login") == 0) {
|
|
*login_sh = 1;
|
|
+ break;
|
|
}
|
|
/* TODO: --noprofile: e.g. if I want to run emergency shell from sulogin,
|
|
* I want minimal/no shell init scripts - but it insists on running it as "-ash"...
|
|
*/
|
|
- break;
|
|
+ ash_msg_and_raise_error("bad option '%s'", p - 2);
|
|
}
|
|
}
|
|
if (c == 'o') {
|