The branch master has been updated
       via  7220085f22cf6c49933ea8287eb15db57f7ab0db (commit)
      from  089df6f135b7cef4e7d0e7b7acecb1d90f5ef3ed (commit)


- Log -----------------------------------------------------------------
commit 7220085f22cf6c49933ea8287eb15db57f7ab0db
Author: Pauli <pa...@openssl.org>
Date:   Mon Oct 25 11:16:01 2021 +1000

    speed: range check the argument given to -multi
    
    For machines where sizeof(size_t) == sizeof(int) there is a possible 
overflow
    which could cause a crash.
    
    For machines where sizeof(size_t) > sizeof(int), the existing checks 
adequately
    detect the situation.
    
    Fixes #16899
    
    Reviewed-by: Tomas Mraz <to...@openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/16904)

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

Summary of changes:
 apps/speed.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/apps/speed.c b/apps/speed.c
index 1e5295398f..4dd9ce0885 100644
--- a/apps/speed.c
+++ b/apps/speed.c
@@ -1540,6 +1540,10 @@ int speed_main(int argc, char **argv)
         case OPT_MULTI:
 #ifndef NO_FORK
             multi = atoi(opt_arg());
+            if ((size_t)multi >= SIZE_MAX / sizeof(int)) {
+                BIO_printf(bio_err, "%s: multi argument too large\n", prog);
+                return 0;
+            }
 #endif
             break;
         case OPT_ASYNCJOBS:

Reply via email to