summaryrefslogtreecommitdiffstats
path: root/crypto/openssl/crypto/evp/evp_lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/openssl/crypto/evp/evp_lib.c')
-rw-r--r--crypto/openssl/crypto/evp/evp_lib.c6
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;
}
}
OpenPOWER on IntegriCloud