From: Pavel Kopyl Date: Fri, 27 Oct 2017 13:18:06 +0000 (+0300) Subject: Check return value of OBJ_nid2obj in dsa_pub_encode. X-Git-Tag: OpenSSL_1_1_0h~206 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=64adaa3fa6d1a2c961707308bee1230436076756;p=oweals%2Fopenssl.git Check return value of OBJ_nid2obj in dsa_pub_encode. CLA: trivial Reviewed-by: Kurt Roeckx Reviewed-by: Bernd Edlinger (Merged from https://github.com/openssl/openssl/pull/4600) (cherry picked from commit 7760384b403a61824c43cc767a11cd22abfa9e49) --- diff --git a/crypto/dsa/dsa_ameth.c b/crypto/dsa/dsa_ameth.c index fbb9121469..d4e4066c49 100644 --- a/crypto/dsa/dsa_ameth.c +++ b/crypto/dsa/dsa_ameth.c @@ -82,6 +82,7 @@ static int dsa_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey) int penclen; ASN1_STRING *str = NULL; ASN1_INTEGER *pubint = NULL; + ASN1_OBJECT *aobj; dsa = pkey->pkey.dsa; if (pkey->save_parameters && dsa->p && dsa->q && dsa->g) { @@ -114,8 +115,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: