fbset: abort on unknown options. closes 3121
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/util-linux/fbset.c b/util-linux/fbset.c
index 75d41b8..3be3424 100644
--- a/util-linux/fbset.c
+++ b/util-linux/fbset.c
@@ -402,7 +402,14 @@
argv++;
argc--;
for (; argc > 0 && (thisarg = *argv) != NULL; argc--, argv++) {
- if (thisarg[0] == '-') for (i = 0; i < ARRAY_SIZE(g_cmdoptions); i++) {
+ if (thisarg[0] != '-') {
+ if (!ENABLE_FEATURE_FBSET_READMODE || argc != 1)
+ bb_show_usage();
+ mode = thisarg;
+ options |= OPT_READMODE;
+ goto contin;
+ }
+ for (i = 0; i < ARRAY_SIZE(g_cmdoptions); i++) {
if (strcmp(thisarg + 1, g_cmdoptions[i].name) != 0)
continue;
if (argc <= g_cmdoptions[i].param_count)
@@ -471,10 +478,7 @@
argv += g_cmdoptions[i].param_count;
goto contin;
}
- if (!ENABLE_FEATURE_FBSET_READMODE || argc != 1)
- bb_show_usage();
- mode = *argv;
- options |= OPT_READMODE;
+ bb_show_usage();
contin: ;
}