[openssl] master update

tomas at openssl.org tomas at openssl.org
Thu Feb 3 12:55:21 UTC 2022


The branch master has been updated
       via  78212c6472ed3ade565ebcde0330d6eca7785fd6 (commit)
      from  944f822aadc88b2e25f7695366810c73a53a00c8 (commit)


- Log -----------------------------------------------------------------
commit 78212c6472ed3ade565ebcde0330d6eca7785fd6
Author: Kevin K Biju <kevinkbiju at gmail.com>
Date:   Tue Feb 1 11:04:35 2022 +0530

    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 at openssl.org>
    Reviewed-by: Tomas Mraz <tomas at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/17585)

-----------------------------------------------------------------------

Summary of changes:
 apps/speed.c | 14 +++++++++-----
 1 file 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;


More information about the openssl-commits mailing list