Check that async_jobs is not negative and not too high.
@@ -1214,7 +1214,7 @@ int speed_main(int argc, char **argv)
#ifndef NO_FORK
int multi = 0;
#endif
- int async_jobs = 0;
+ unsigned int async_jobs = 0;
#if !defined(OPENSSL_NO_RSA) || !defined(OPENSSL_NO_DSA) \
|| !defined(OPENSSL_NO_EC)
long rsa_count = 1;
@@ -1393,6 +1393,12 @@ int speed_main(int argc, char **argv)
prog);
goto opterr;
}
+ if (async_jobs > 99999) {
+ BIO_printf(bio_err,
+ "%s: too many async_jobs\n",
+ prog);
+ goto opterr;
+ }
#endif
break;
case OPT_MISALIGN:
