Skip to content
Snippets Groups Projects
Commit 446e481c authored by Nick Mathewson's avatar Nick Mathewson :game_die:
Browse files

Check for duplicate arguments to tor-gencert

Found by coverity, which noticed that if you said
  tor-gencert -i identity1 -i identity2
we would leak "identity1".

[CID 1198201, 1198202, 1198203]
parent a66fff63
No related branches found
No related tags found
No related merge requests found
o Minor features:
- In tor-gencert, report an error if the user provides the same
argument more than once.
......@@ -134,18 +134,30 @@ parse_commandline(int argc, char **argv)
fprintf(stderr, "No argument to -i\n");
return 1;
}
if (identity_key_file) {
fprintf(stderr, "Duplicate values for -i\n");
return -1;
}
identity_key_file = tor_strdup(argv[++i]);
} else if (!strcmp(argv[i], "-s")) {
if (i+1>=argc) {
fprintf(stderr, "No argument to -s\n");
return 1;
}
if (signing_key_file) {
fprintf(stderr, "Duplicate values for -s\n");
return -1;
}
signing_key_file = tor_strdup(argv[++i]);
} else if (!strcmp(argv[i], "-c")) {
if (i+1>=argc) {
fprintf(stderr, "No argument to -c\n");
return 1;
}
if (certificate_file) {
fprintf(stderr, "Duplicate values for -c\n");
return -1;
}
certificate_file = tor_strdup(argv[++i]);
} else if (!strcmp(argv[i], "-m")) {
if (i+1>=argc) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment