Index: openssl/crypto/asn1/d2i_pu.c |
=================================================================== |
--- openssl/crypto/asn1/d2i_pu.c (revision 105093) |
+++ openssl/crypto/asn1/d2i_pu.c (working copy) |
@@ -87,10 +87,14 @@ |
} |
else ret= *a; |
- ret->save_type=type; |
- ret->type=EVP_PKEY_type(type); |
- switch (ret->type) |
+ if (!EVP_PKEY_set_type(ret, type)) |
{ |
+ ASN1err(ASN1_F_D2I_PUBLICKEY,ERR_R_EVP_LIB); |
+ goto err; |
+ } |
+ |
+ switch (EVP_PKEY_id(ret)) |
+ { |
#ifndef OPENSSL_NO_RSA |
case EVP_PKEY_RSA: |
if ((ret->pkey.rsa=d2i_RSAPublicKey(NULL, |