summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2017-11-12 12:34:51 +0100
committerGitHub <noreply@github.com>2017-11-12 12:34:51 +0100
commit8c928be4d78ab018c31016c27edc1807f9e290a1 (patch)
tree3088884de75a8f7562740b9773b0c54888db24fa
parent1d7c15adf983853cf8df03dc0af411df3fa5fa07 (diff)
parent3275863134122892e2f8a8aa4ad0ce1c123a48ec (diff)
downloadlibgit2-8c928be4d78ab018c31016c27edc1807f9e290a1.tar.gz
Merge pull request #4406 from yoney/clar
Fix clar to verify command line arguments before execute
-rw-r--r--tests/clar.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/tests/clar.c b/tests/clar.c
index 905d67db7..d5212d1ca 100644
--- a/tests/clar.c
+++ b/tests/clar.c
@@ -313,11 +313,18 @@ clar_parse_args(int argc, char **argv)
{
int i;
+ /* Verify options before execute */
for (i = 1; i < argc; ++i) {
char *argument = argv[i];
- if (argument[0] != '-')
+ if (argument[0] != '-' || argument[1] == '\0'
+ || strchr("sixvqQl", argument[1]) == NULL) {
clar_usage(argv[0]);
+ }
+ }
+
+ for (i = 1; i < argc; ++i) {
+ char *argument = argv[i];
switch (argument[1]) {
case 's':
@@ -391,7 +398,7 @@ clar_parse_args(int argc, char **argv)
break;
default:
- clar_usage(argv[0]);
+ assert(!"Unexpected commandline argument!");
}
}
}