From 7fdf3a84165ffeb1a349b0c4a65442c5b3df9569 Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Mon, 5 Oct 2020 23:39:23 -0400 Subject: [PATCH] More argument parsing fixes --- bin/pattyd.c | 13 ++++++++----- bin/tncd.c | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/bin/pattyd.c b/bin/pattyd.c index 9303b80..a243573 100644 --- a/bin/pattyd.c +++ b/bin/pattyd.c @@ -392,10 +392,6 @@ int main(int argc, char **argv) { while ((ch = getopt_long(argc, argv, "fc:s", opts, &index)) >= 0) { switch (ch) { - case '?': - ret = usage(argc, argv, NULL); - goto error_invalid_args; - case 'c': ctx.config_file = optarg; break; @@ -404,10 +400,17 @@ int main(int argc, char **argv) { case 's': flags[FLAG_STANDALONE] = 1; break; default: - break; + ret = usage(argc, argv, NULL); + goto error_invalid_args; } } + if (optind < argc) { + ret = usage(argc, argv, "Too many arguments provided"); + + goto error_invalid_args; + } + if (flags[FLAG_STANDALONE]) { if (argc - optind < 1) { ret = usage(argc, argv, "No socket path provided"); diff --git a/bin/tncd.c b/bin/tncd.c index 7117b3a..3f08b8b 100644 --- a/bin/tncd.c +++ b/bin/tncd.c @@ -191,7 +191,7 @@ int main(int argc, char **argv) { } if (optind < argc) { - usage(argc, argv, "Invalid arguments provided"); + usage(argc, argv, "Too many arguments provided"); } if ((client = patty_client_new(sock)) == NULL) {