diff options
Diffstat (limited to 'crypto/dsa/dsa_ameth.c')
| -rw-r--r-- | crypto/dsa/dsa_ameth.c | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/crypto/dsa/dsa_ameth.c b/crypto/dsa/dsa_ameth.c index aac253095141..e22627f85152 100644 --- a/crypto/dsa/dsa_ameth.c +++ b/crypto/dsa/dsa_ameth.c @@ -133,6 +133,7 @@ static int dsa_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey)      unsigned char *penc = NULL;      int penclen;      ASN1_STRING *str = NULL; +    ASN1_OBJECT *aobj;      dsa = pkey->pkey.dsa;      if (pkey->save_parameters && dsa->p && dsa->q && dsa->g) { @@ -159,8 +160,11 @@ static int dsa_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey)          goto err;      } -    if (X509_PUBKEY_set0_param(pk, OBJ_nid2obj(EVP_PKEY_DSA), -                               ptype, str, penc, penclen)) +    aobj = OBJ_nid2obj(EVP_PKEY_DSA); +    if (aobj == NULL) +        goto err; + +    if (X509_PUBKEY_set0_param(pk, aobj, ptype, str, penc, penclen))          return 1;   err: | 
