mirror of
https://github.com/openssl/openssl.git
synced 2025-02-23 14:42:15 +08:00
Make implementation of blocksize, iv_length and key_length mandatory
Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/8700)
This commit is contained in:
parent
3b94944cf2
commit
dcd446f100
@ -1109,12 +1109,16 @@ static void *evp_cipher_from_dispatch(int nid, const OSSL_DISPATCH *fns,
|
||||
}
|
||||
if ((fnciphcnt != 0 && fnciphcnt != 3 && fnciphcnt != 4)
|
||||
|| (fnciphcnt == 0 && cipher->ccipher == NULL)
|
||||
|| fnctxcnt != 2) {
|
||||
|| fnctxcnt != 2
|
||||
|| cipher->blocksize == NULL
|
||||
|| cipher->iv_length == NULL
|
||||
|| cipher->key_length == NULL) {
|
||||
/*
|
||||
* In order to be a consistent set of functions we must have at least
|
||||
* a complete set of "encrypt" functions, or a complete set of "decrypt"
|
||||
* functions, or a single "cipher" function. In all cases we need a
|
||||
* complete set of context management functions
|
||||
* complete set of context management functions, as well as the
|
||||
* blocksize, iv_length and key_length functions.
|
||||
*/
|
||||
EVP_CIPHER_meth_free(cipher);
|
||||
EVPerr(EVP_F_EVP_CIPHER_FROM_DISPATCH, EVP_R_INVALID_PROVIDER_FUNCTIONS);
|
||||
|
Loading…
Reference in New Issue
Block a user