X-Git-Url: https://git.openssl.org/gitweb/?a=blobdiff_plain;f=crypto%2Fengine%2Feng_cryptodev.c;fp=crypto%2Fengine%2Feng_cryptodev.c;h=195912348c9cd3d11bbfda8980c2d9acf002ffb3;hb=a97d19d9e534fe69d6eb6c6413d1217d39032604;hp=bdc49ed8a8baa6404119bb09b7c602be5ab70613;hpb=913954768f4b25b93a89299d03b45611bbdd85b8;p=openssl.git diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c index bdc49ed8a8..195912348c 100644 --- a/crypto/engine/eng_cryptodev.c +++ b/crypto/engine/eng_cryptodev.c @@ -84,9 +84,13 @@ struct dev_crypto_state { static u_int32_t cryptodev_asymfeat = 0; +static RSA_METHOD *cryptodev_rsa; #ifndef OPENSSL_NO_DSA static DSA_METHOD *cryptodev_dsa = NULL; #endif +#ifndef OPENSSL_NO_DH +static DH_METHOD *cryptodev_dh; +#endif static int get_asym_dev_crypto(void); static int open_dev_crypto(void); @@ -1176,9 +1180,15 @@ static int cryptodev_engine_destroy(ENGINE *e) EVP_MD_meth_free(md5_md); md5_md = NULL; # endif + RSA_meth_free(cryptodev_rsa); + cryptodev_rsa = NULL; #ifndef OPENSSL_NO_DSA DSA_meth_free(cryptodev_dsa); cryptodev_dsa = NULL; +#endif +#ifndef OPENSSL_NO_DH + DH_meth_free(cryptodev_dh); + cryptodev_dh = NULL; #endif return 1; } @@ -1392,8 +1402,6 @@ cryptodev_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx) return (ret); } -static RSA_METHOD *cryptodev_rsa; - #ifndef OPENSSL_NO_DSA static int cryptodev_dsa_bn_mod_exp(DSA *dsa, BIGNUM *r, BIGNUM *a, const BIGNUM *p, @@ -1597,8 +1605,6 @@ cryptodev_dh_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh) return (dhret); } -static DH_METHOD *cryptodev_dh; - #endif /* ndef OPENSSL_NO_DH */ /*