diff options
author | Patrick Steinhardt <ps@pks.im> | 2017-11-12 12:34:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-12 12:34:51 +0100 |
commit | 8c928be4d78ab018c31016c27edc1807f9e290a1 (patch) | |
tree | 3088884de75a8f7562740b9773b0c54888db24fa | |
parent | 1d7c15adf983853cf8df03dc0af411df3fa5fa07 (diff) | |
parent | 3275863134122892e2f8a8aa4ad0ce1c123a48ec (diff) | |
download | libgit2-8c928be4d78ab018c31016c27edc1807f9e290a1.tar.gz |
Merge pull request #4406 from yoney/clar
Fix clar to verify command line arguments before execute
-rw-r--r-- | tests/clar.c | 11 |
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!"); } } } |