mirror of
https://github.com/openssl/openssl.git
synced 2024-11-27 05:21:51 +08:00
Check # of arguments for remaining commands.
Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/4201)
This commit is contained in:
parent
b73b4d73de
commit
c27363f566
@ -263,6 +263,10 @@ int enc_main(int argc, char **argv)
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (opt_num_rest() != 0) {
|
||||
BIO_printf(bio_err, "Extra arguments given.\n");
|
||||
goto opthelp;
|
||||
}
|
||||
|
||||
if (cipher && EVP_CIPHER_flags(cipher) & EVP_CIPH_FLAG_AEAD_CIPHER) {
|
||||
BIO_printf(bio_err, "%s: AEAD ciphers not supported\n", prog);
|
||||
|
@ -78,6 +78,7 @@ int genrsa_main(int argc, char **argv)
|
||||
switch (o) {
|
||||
case OPT_EOF:
|
||||
case OPT_ERR:
|
||||
opthelp:
|
||||
BIO_printf(bio_err, "%s: Use -help for summary.\n", prog);
|
||||
goto end;
|
||||
case OPT_HELP:
|
||||
@ -111,11 +112,16 @@ int genrsa_main(int argc, char **argv)
|
||||
}
|
||||
argc = opt_num_rest();
|
||||
argv = opt_rest();
|
||||
|
||||
if (argc == 1) {
|
||||
if (!opt_int(argv[0], &num) || num <= 0)
|
||||
goto end;
|
||||
} else if (argc > 0) {
|
||||
BIO_printf(bio_err, "Extra arguments given.\n");
|
||||
goto opthelp;
|
||||
}
|
||||
|
||||
private = 1;
|
||||
|
||||
if (argv[0] && (!opt_int(argv[0], &num) || num <= 0))
|
||||
goto end;
|
||||
|
||||
if (!app_passwd(NULL, passoutarg, NULL, &passout)) {
|
||||
BIO_printf(bio_err, "Error getting password\n");
|
||||
goto end;
|
||||
|
@ -388,6 +388,7 @@ int list_main(int argc, char **argv)
|
||||
switch (o) {
|
||||
case OPT_EOF: /* Never hit, but suppresses warning */
|
||||
case OPT_ERR:
|
||||
opthelp:
|
||||
BIO_printf(bio_err, "%s: Use -help for summary.\n", prog);
|
||||
return 1;
|
||||
case OPT_HELP:
|
||||
@ -429,12 +430,14 @@ int list_main(int argc, char **argv)
|
||||
}
|
||||
done = 1;
|
||||
}
|
||||
|
||||
if (!done) {
|
||||
BIO_printf(bio_err, "%s: Use -help for summary.\n", prog);
|
||||
return 1;
|
||||
if (opt_num_rest() != 0) {
|
||||
BIO_printf(bio_err, "Extra arguments given.\n");
|
||||
goto opthelp;
|
||||
}
|
||||
|
||||
if (!done)
|
||||
goto opthelp;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
10
apps/prime.c
10
apps/prime.c
@ -43,6 +43,7 @@ int prime_main(int argc, char **argv)
|
||||
switch (o) {
|
||||
case OPT_EOF:
|
||||
case OPT_ERR:
|
||||
opthelp:
|
||||
BIO_printf(bio_err, "%s: Use -help for summary.\n", prog);
|
||||
goto end;
|
||||
case OPT_HELP:
|
||||
@ -69,9 +70,14 @@ int prime_main(int argc, char **argv)
|
||||
argc = opt_num_rest();
|
||||
argv = opt_rest();
|
||||
|
||||
if (argc == 0 && !generate) {
|
||||
if (generate) {
|
||||
if (argc != 0) {
|
||||
BIO_printf(bio_err, "Extra arguments given.\n");
|
||||
goto opthelp;
|
||||
}
|
||||
} else if (argc == 0) {
|
||||
BIO_printf(bio_err, "%s: No prime specified\n", prog);
|
||||
goto end;
|
||||
goto opthelp;
|
||||
}
|
||||
|
||||
if (generate) {
|
||||
|
@ -77,9 +77,13 @@ int rand_main(int argc, char **argv)
|
||||
}
|
||||
argc = opt_num_rest();
|
||||
argv = opt_rest();
|
||||
|
||||
if (argc != 1 || !opt_int(argv[0], &num) || num < 0)
|
||||
if (argc == 1) {
|
||||
if (!opt_int(argv[0], &num) || num <= 0)
|
||||
goto end;
|
||||
} else if (argc > 0) {
|
||||
BIO_printf(bio_err, "Extra arguments given.\n");
|
||||
goto opthelp;
|
||||
}
|
||||
|
||||
out = bio_open_default(outfile, 'w', format);
|
||||
if (out == NULL)
|
||||
|
21
apps/srp.c
21
apps/srp.c
@ -297,11 +297,12 @@ int srp_main(int argc, char **argv)
|
||||
"Exactly one of the options -add, -delete, -modify -list must be specified.\n");
|
||||
goto opthelp;
|
||||
}
|
||||
if ((mode == OPT_DELETE || mode == OPT_MODIFY || mode == OPT_ADD)
|
||||
&& argc < 1) {
|
||||
BIO_printf(bio_err,
|
||||
"Need at least one user for options -add, -delete, -modify. \n");
|
||||
goto opthelp;
|
||||
if (mode == OPT_DELETE || mode == OPT_MODIFY || mode == OPT_ADD) {
|
||||
if (argc == 0) {
|
||||
BIO_printf(bio_err, "Need at least one user.\n");
|
||||
goto opthelp;
|
||||
}
|
||||
user = *argv++;
|
||||
}
|
||||
if ((passinarg != NULL || passoutarg != NULL) && argc != 1) {
|
||||
BIO_printf(bio_err,
|
||||
@ -390,10 +391,7 @@ int srp_main(int argc, char **argv)
|
||||
if (verbose > 1)
|
||||
BIO_printf(bio_err, "Starting user processing\n");
|
||||
|
||||
if (argc > 0)
|
||||
user = *(argv++);
|
||||
|
||||
while (mode == OPT_LIST || user) {
|
||||
while (mode == OPT_LIST || user != NULL) {
|
||||
int userindex = -1;
|
||||
|
||||
if (user != NULL && verbose > 1)
|
||||
@ -554,9 +552,8 @@ int srp_main(int argc, char **argv)
|
||||
doupdatedb = 1;
|
||||
}
|
||||
}
|
||||
if (--argc > 0) {
|
||||
user = *(argv++);
|
||||
} else {
|
||||
user = *argv++;
|
||||
if (user == NULL) {
|
||||
/* no more processing in any mode if no users left */
|
||||
break;
|
||||
}
|
||||
|
@ -72,6 +72,7 @@ int version_main(int argc, char **argv)
|
||||
switch (o) {
|
||||
case OPT_EOF:
|
||||
case OPT_ERR:
|
||||
opthelp:
|
||||
BIO_printf(bio_err, "%s: Use -help for summary.\n", prog);
|
||||
goto end;
|
||||
case OPT_HELP:
|
||||
@ -107,6 +108,10 @@ int version_main(int argc, char **argv)
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (opt_num_rest() != 0) {
|
||||
BIO_printf(bio_err, "Extra parameters given.\n");
|
||||
goto opthelp;
|
||||
}
|
||||
if (!dirty)
|
||||
version = 1;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user