diff options
Diffstat (limited to 'crypto/openssl/crypto/evp/evp_lib.c')
-rw-r--r-- | crypto/openssl/crypto/evp/evp_lib.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/crypto/openssl/crypto/evp/evp_lib.c b/crypto/openssl/crypto/evp/evp_lib.c index 3f9bf55..a431945 100644 --- a/crypto/openssl/crypto/evp/evp_lib.c +++ b/crypto/openssl/crypto/evp/evp_lib.c @@ -115,6 +115,7 @@ int EVP_CIPHER_set_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type) int EVP_CIPHER_type(const EVP_CIPHER *ctx) { int nid; + ASN1_OBJECT *otmp; nid = EVP_CIPHER_nid(ctx); switch(nid) { @@ -131,7 +132,10 @@ int EVP_CIPHER_type(const EVP_CIPHER *ctx) return NID_rc4; default: - + /* Check it has an OID and it is valid */ + otmp = OBJ_nid2obj(nid); + if(!otmp || !otmp->data) nid = NID_undef; + ASN1_OBJECT_free(otmp); return nid; } } |