lynxis lazus has uploaded this change for review.

View Change

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);
}
}

To view, visit change 43352. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: osmo-remsim
Gerrit-Branch: master
Gerrit-Change-Id: I84658bda7614d9463bd7d20eb584da8e7050f1e5
Gerrit-Change-Number: 43352
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus <lynxis@fe80.eu>