From b90d58db07459a353d20b052bd1e4732fec03aa5 Mon Sep 17 00:00:00 2001 From: Girts Date: Sat, 5 Nov 2016 14:38:55 -0700 Subject: [PATCH] helper/options.c: fail if unexpected cmdline arguments are present Previously openocd would silently ignore any incorrect arguments. Change-Id: Ibb40b57b8a9e07d191215486f3b3c4920a9963c7 Signed-off-by: Girts Folkmanis Reviewed-on: http://openocd.zylin.com/3879 Tested-by: jenkins Reviewed-by: Tomas Vanek --- src/helper/options.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/helper/options.c b/src/helper/options.c index 0016659148..1cfa55376a 100644 --- a/src/helper/options.c +++ b/src/helper/options.c @@ -291,9 +291,18 @@ int parse_cmdline_args(struct command_context *cmd_ctx, int argc, char *argv[]) LOG_WARNING("deprecated option: -p/--pipe. Use '-c \"gdb_port pipe; " "log_output openocd.log\"' instead."); break; + default: /* '?' */ + /* getopt will emit an error message, all we have to do is bail. */ + return ERROR_FAIL; } } + if (optind < argc) { + /* Catch extra arguments on the command line. */ + LOG_OUTPUT("Unexpected command line argument: %s\n", argv[optind]); + return ERROR_FAIL; + } + if (help_flag) { LOG_OUTPUT("Open On-Chip Debugger\nLicensed under GNU GPL v2\n"); LOG_OUTPUT("--help | -h\tdisplay this help\n"); -- 2.30.2