diff options
Diffstat (limited to 'src/lib/libcrypto/dsa/dsa_ameth.c')
| -rw-r--r-- | src/lib/libcrypto/dsa/dsa_ameth.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/libcrypto/dsa/dsa_ameth.c b/src/lib/libcrypto/dsa/dsa_ameth.c index 83fdf2129f..d6b0546c04 100644 --- a/src/lib/libcrypto/dsa/dsa_ameth.c +++ b/src/lib/libcrypto/dsa/dsa_ameth.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: dsa_ameth.c,v 1.53 2023/08/12 07:46:14 tb Exp $ */ | 1 | /* $OpenBSD: dsa_ameth.c,v 1.54 2023/08/12 07:50:47 tb Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2006. | 3 | * project 2006. |
| 4 | */ | 4 | */ |
| @@ -114,6 +114,7 @@ dsa_pub_decode(EVP_PKEY *pkey, X509_PUBKEY *pubkey) | |||
| 114 | DSAerror(DSA_R_DECODE_ERROR); | 114 | DSAerror(DSA_R_DECODE_ERROR); |
| 115 | goto err; | 115 | goto err; |
| 116 | } | 116 | } |
| 117 | BN_free(dsa->pub_key); | ||
| 117 | if ((dsa->pub_key = ASN1_INTEGER_to_BN(aint, NULL)) == NULL) { | 118 | if ((dsa->pub_key = ASN1_INTEGER_to_BN(aint, NULL)) == NULL) { |
| 118 | DSAerror(DSA_R_BN_DECODE_ERROR); | 119 | DSAerror(DSA_R_BN_DECODE_ERROR); |
| 119 | goto err; | 120 | goto err; |
| @@ -236,6 +237,7 @@ dsa_priv_decode(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO *p8) | |||
| 236 | DSAerror(DSA_R_DECODE_ERROR); | 237 | DSAerror(DSA_R_DECODE_ERROR); |
| 237 | goto err; | 238 | goto err; |
| 238 | } | 239 | } |
| 240 | BN_free(dsa->priv_key); | ||
| 239 | if ((dsa->priv_key = ASN1_INTEGER_to_BN(aint, NULL)) == NULL) { | 241 | if ((dsa->priv_key = ASN1_INTEGER_to_BN(aint, NULL)) == NULL) { |
| 240 | DSAerror(DSA_R_BN_DECODE_ERROR); | 242 | DSAerror(DSA_R_BN_DECODE_ERROR); |
| 241 | goto err; | 243 | goto err; |
| @@ -246,6 +248,7 @@ dsa_priv_decode(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO *p8) | |||
| 246 | goto err; | 248 | goto err; |
| 247 | 249 | ||
| 248 | /* Calculate public key */ | 250 | /* Calculate public key */ |
| 251 | BN_free(dsa->pub_key); | ||
| 249 | if ((dsa->pub_key = BN_new()) == NULL) { | 252 | if ((dsa->pub_key = BN_new()) == NULL) { |
| 250 | DSAerror(ERR_R_MALLOC_FAILURE); | 253 | DSAerror(ERR_R_MALLOC_FAILURE); |
| 251 | goto err; | 254 | goto err; |
