diff options
Diffstat (limited to '')
-rw-r--r-- | src/lib/libcrypto/gost/gostr341001_ameth.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/lib/libcrypto/gost/gostr341001_ameth.c b/src/lib/libcrypto/gost/gostr341001_ameth.c index 9098797ade..fc3bce412a 100644 --- a/src/lib/libcrypto/gost/gostr341001_ameth.c +++ b/src/lib/libcrypto/gost/gostr341001_ameth.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: gostr341001_ameth.c,v 1.21 2023/12/28 21:49:07 tb Exp $ */ | 1 | /* $OpenBSD: gostr341001_ameth.c,v 1.22 2023/12/28 21:53:09 tb Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> |
4 | * Copyright (c) 2005-2006 Cryptocom LTD | 4 | * Copyright (c) 2005-2006 Cryptocom LTD |
@@ -207,7 +207,9 @@ pub_decode_gost01(EVP_PKEY *pk, X509_PUBKEY *pub) | |||
207 | if (X509_PUBKEY_get0_param(&palgobj, &pubkey_buf, &pub_len, &palg, pub) | 207 | if (X509_PUBKEY_get0_param(&palgobj, &pubkey_buf, &pub_len, &palg, pub) |
208 | == 0) | 208 | == 0) |
209 | return 0; | 209 | return 0; |
210 | (void)EVP_PKEY_assign_GOST(pk, NULL); | 210 | /* Called for the side effect of freeing pk->pkey. */ |
211 | if (!EVP_PKEY_set_type(pk, EVP_PKEY_GOSTR01)) | ||
212 | return 0; | ||
211 | X509_ALGOR_get0(NULL, &ptype, (const void **)&pval, palg); | 213 | X509_ALGOR_get0(NULL, &ptype, (const void **)&pval, palg); |
212 | if (ptype != V_ASN1_SEQUENCE) { | 214 | if (ptype != V_ASN1_SEQUENCE) { |
213 | GOSTerror(GOST_R_BAD_KEY_PARAMETERS_FORMAT); | 215 | GOSTerror(GOST_R_BAD_KEY_PARAMETERS_FORMAT); |
@@ -420,7 +422,9 @@ priv_decode_gost01(EVP_PKEY *pk, const PKCS8_PRIV_KEY_INFO *p8inf) | |||
420 | GOSTerror(GOST_R_BAD_KEY_PARAMETERS_FORMAT); | 422 | GOSTerror(GOST_R_BAD_KEY_PARAMETERS_FORMAT); |
421 | return 0; | 423 | return 0; |
422 | } | 424 | } |
423 | (void)EVP_PKEY_assign_GOST(pk, NULL); | 425 | /* Called for the side effect of freeing pk->pkey. */ |
426 | if (!EVP_PKEY_set_type(pk, EVP_PKEY_GOSTR01)) | ||
427 | return 0; | ||
424 | X509_ALGOR_get0(NULL, &ptype, (const void **)&pval, palg); | 428 | X509_ALGOR_get0(NULL, &ptype, (const void **)&pval, palg); |
425 | if (ptype != V_ASN1_SEQUENCE) { | 429 | if (ptype != V_ASN1_SEQUENCE) { |
426 | GOSTerror(GOST_R_BAD_KEY_PARAMETERS_FORMAT); | 430 | GOSTerror(GOST_R_BAD_KEY_PARAMETERS_FORMAT); |