lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/43352?usp=email )
Change subject: handle_options(): exit(2) if an unparsed argument was given ......................................................................
handle_options(): exit(2) if an unparsed argument was given
All osmo-remsim binaries are only supporting arguments starting with a dash ('-'), but no positional argument. Ensure all binaries will exit when an positional argument was given and do the same when an unrecognized argument was given.
Change-Id: I84658bda7614d9463bd7d20eb584da8e7050f1e5 --- M src/bankd/bankd_main.c M src/client/remsim_client_main.c M src/server/remsim_server.c 3 files changed, 28 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/52/43352/1
diff --git a/src/bankd/bankd_main.c b/src/bankd/bankd_main.c index 9ef05a4..ef149a8 100644 --- a/src/bankd/bankd_main.c +++ b/src/bankd/bankd_main.c @@ -399,8 +399,20 @@ case 'e': log_set_log_level(osmo_stderr_target, atoi(optarg)); break; + case '?': + /* unsupported/unrecognized argument */ + exit(2); + break; + default: + break; } } + + if (argc > optind) { + while (optind < argc) + fprintf(stderr, "Unsupported positional arguments on command line %s\n", argv[optind++]); + exit(2); + } }
int main(int argc, char **argv) diff --git a/src/client/remsim_client_main.c b/src/client/remsim_client_main.c index ff89478..76e79d9 100644 --- a/src/client/remsim_client_main.c +++ b/src/client/remsim_client_main.c @@ -163,10 +163,20 @@ cfg->usb.path = optarg; break; #endif + case '?': + /* unsupported/unrecognized argument */ + exit(2); + break; default: break; } } + + if (argc > optind) { + while (optind < argc) + fprintf(stderr, "Unsupported positional arguments on command line %s\n", argv[optind++]); + exit(2); + } }
diff --git a/src/server/remsim_server.c b/src/server/remsim_server.c index 3687f15..1821938 100644 --- a/src/server/remsim_server.c +++ b/src/server/remsim_server.c @@ -71,6 +71,10 @@ case 'L': log_set_use_color(osmo_stderr_target, 0); break; + case '?': + /* unsupported/unrecognized argument */ + exit(2); + break; default: /* ignore */ break; @@ -78,7 +82,8 @@ }
if (argc > optind) { - fprintf(stderr, "Unsupported extra positional arguments in command line\n"); + while (optind < argc) + fprintf(stderr, "Unsupported positional arguments on command line %s\n", argv[optind++]); exit(2); } }