diff options
author | Kevin K Biju <kevinkbiju@gmail.com> | 2022-02-01 11:04:35 +0530 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2022-02-03 13:53:44 +0100 |
commit | 78212c6472ed3ade565ebcde0330d6eca7785fd6 (patch) | |
tree | e2188d3a628365b203449dcf87bb5e9aa0165f39 /apps/speed.c | |
parent | 944f822aadc88b2e25f7695366810c73a53a00c8 (diff) | |
download | openssl-78212c6472ed3ade565ebcde0330d6eca7785fd6.tar.gz |
Use opt_int_arg() to parse integers in apps/speed.c
We use opt_int_arg() to prevent malformed processing of
hexadecimal input to some command line options.
Updated help to mention the change.
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17585)
Diffstat (limited to 'apps/speed.c')
-rw-r--r-- | apps/speed.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/apps/speed.c b/apps/speed.c index 02e7b1f9b2..43c0802295 100644 --- a/apps/speed.c +++ b/apps/speed.c @@ -214,7 +214,11 @@ typedef enum OPTION_choice { } OPTION_CHOICE; const OPTIONS speed_options[] = { - {OPT_HELP_STR, 1, '-', "Usage: %s [options] [algorithm...]\n"}, + {OPT_HELP_STR, 1, '-', + "Usage: %s [options] [algorithm...]\n" + "All +int options consider prefix '0' as base-8 input, " + "prefix '0x'/'0X' as base-16 input.\n" + }, OPT_SECTION("General"), {"help", OPT_HELP, '-', "Display this summary"}, @@ -1543,7 +1547,7 @@ int speed_main(int argc, char **argv) break; case OPT_MULTI: #ifndef NO_FORK - multi = atoi(opt_arg()); + multi = opt_int_arg(); if ((size_t)multi >= SIZE_MAX / sizeof(int)) { BIO_printf(bio_err, "%s: multi argument too large\n", prog); return 0; @@ -1552,7 +1556,7 @@ int speed_main(int argc, char **argv) break; case OPT_ASYNCJOBS: #ifndef OPENSSL_NO_ASYNC - async_jobs = atoi(opt_arg()); + async_jobs = opt_int_arg(); if (!ASYNC_is_capable()) { BIO_printf(bio_err, "%s: async_jobs specified but async not supported\n", @@ -1599,10 +1603,10 @@ int speed_main(int argc, char **argv) case OPT_SECONDS: seconds.sym = seconds.rsa = seconds.dsa = seconds.ecdsa = seconds.ecdh = seconds.eddsa - = seconds.sm2 = seconds.ffdh = atoi(opt_arg()); + = seconds.sm2 = seconds.ffdh = opt_int_arg(); break; case OPT_BYTES: - lengths_single = atoi(opt_arg()); + lengths_single = opt_int_arg(); lengths = &lengths_single; size_num = 1; break; |