speed.c: Check for 0 block size

Although this cannot really happen check for 0 block size
to avoid division by 0.

Fixes Coverity 1633936

Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25822)
This commit is contained in:
Tomas Mraz 2024-10-29 10:03:53 +01:00
parent 8ff6edb9da
commit 59f5f6c73c

View File

@ -1448,8 +1448,13 @@ static int SIG_verify_loop(void *args)
static int check_block_size(EVP_CIPHER_CTX *ctx, int length)
{
const EVP_CIPHER *ciph = EVP_CIPHER_CTX_get0_cipher(ctx);
int blocksize = EVP_CIPHER_CTX_get_block_size(ctx);
if (length % EVP_CIPHER_get_block_size(ciph) != 0) {
if (ciph == NULL || blocksize <= 0) {
BIO_printf(bio_err, "\nInvalid cipher!\n");
return 0;
}
if (length % blocksize != 0) {
BIO_printf(bio_err,
"\nRequested encryption length not a multiple of block size for %s!\n",
EVP_CIPHER_get0_name(ciph));