From e36fd6eb65b569a8e6ff0441f62286a2952d292c Mon Sep 17 00:00:00 2001 From: kaleb-himes Date: Mon, 21 Jan 2019 13:19:51 -0700 Subject: [PATCH 1/2] Fix bug where zero length string compare matches on -h --- wolfCLU/clu_src/tools/clu_funcs.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/wolfCLU/clu_src/tools/clu_funcs.c b/wolfCLU/clu_src/tools/clu_funcs.c index f60e9f1a..a984e222 100644 --- a/wolfCLU/clu_src/tools/clu_funcs.c +++ b/wolfCLU/clu_src/tools/clu_funcs.c @@ -705,17 +705,17 @@ int wolfCLU_checkForArg(char* searchTerm, int length, int argc, char** argv) int argFound = 0; for (i = 0; i < argc; i++) { - if (argv[i] == NULL) { + if (argv[i] == NULL && argFound == 0) { ret = 0; break; /* stop checking if no more args*/ - } else if (XSTRNCMP(searchTerm, "-help", length) == 0 && - XSTRNCMP(argv[i], "-help", XSTRLEN(argv[i])) == 0) { + } else if (XSTRNCMP(searchTerm, "-help", length) == 0 && + XSTRNCMP(argv[i], "-help", XSTRLEN(argv[i])) == 0 && + (int) XSTRLEN(argv[i]) > 0) { + + ret = 1; - return 1; - } else if (XSTRNCMP(argv[i], searchTerm, length) == 0 && XSTRNCMP(argv[i], searchTerm, XSTRLEN(argv[i])) == 0) { - ret = i; if (argFound == 1) { printf("ERROR: argument found twice: \"%s\"\n", searchTerm); From 95e67cfe0a4100d94ee51b11c9dc25c12b57c495 Mon Sep 17 00:00:00 2001 From: kaleb-himes Date: Mon, 21 Jan 2019 13:21:36 -0700 Subject: [PATCH 2/2] undo whitespace changes --- wolfCLU/clu_src/tools/clu_funcs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wolfCLU/clu_src/tools/clu_funcs.c b/wolfCLU/clu_src/tools/clu_funcs.c index a984e222..8c600fa0 100644 --- a/wolfCLU/clu_src/tools/clu_funcs.c +++ b/wolfCLU/clu_src/tools/clu_funcs.c @@ -711,11 +711,11 @@ int wolfCLU_checkForArg(char* searchTerm, int length, int argc, char** argv) } else if (XSTRNCMP(searchTerm, "-help", length) == 0 && XSTRNCMP(argv[i], "-help", XSTRLEN(argv[i])) == 0 && (int) XSTRLEN(argv[i]) > 0) { - - ret = 1; + return 1; } else if (XSTRNCMP(argv[i], searchTerm, length) == 0 && XSTRNCMP(argv[i], searchTerm, XSTRLEN(argv[i])) == 0) { + ret = i; if (argFound == 1) { printf("ERROR: argument found twice: \"%s\"\n", searchTerm);