diff options
Diffstat (limited to 'src/lib/libcrypto/asn1')
-rw-r--r-- | src/lib/libcrypto/asn1/ameth_lib.c | 45 |
1 files changed, 16 insertions, 29 deletions
diff --git a/src/lib/libcrypto/asn1/ameth_lib.c b/src/lib/libcrypto/asn1/ameth_lib.c index 8be82060ef..545ba8f1a1 100644 --- a/src/lib/libcrypto/asn1/ameth_lib.c +++ b/src/lib/libcrypto/asn1/ameth_lib.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ameth_lib.c,v 1.21 2019/11/02 16:06:25 inoguchi Exp $ */ | 1 | /* $OpenBSD: ameth_lib.c,v 1.22 2021/12/03 14:18:06 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 | */ |
@@ -340,34 +340,21 @@ EVP_PKEY_asn1_new(int id, int flags, const char *pem_str, const char *info) | |||
340 | void | 340 | void |
341 | EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, const EVP_PKEY_ASN1_METHOD *src) | 341 | EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, const EVP_PKEY_ASN1_METHOD *src) |
342 | { | 342 | { |
343 | dst->pub_decode = src->pub_decode; | 343 | EVP_PKEY_ASN1_METHOD preserve; |
344 | dst->pub_encode = src->pub_encode; | 344 | |
345 | dst->pub_cmp = src->pub_cmp; | 345 | preserve.pkey_id = dst->pkey_id; |
346 | dst->pub_print = src->pub_print; | 346 | preserve.pkey_base_id = dst->pkey_base_id; |
347 | 347 | preserve.pkey_flags = dst->pkey_flags; | |
348 | dst->priv_decode = src->priv_decode; | 348 | preserve.pem_str = dst->pem_str; |
349 | dst->priv_encode = src->priv_encode; | 349 | preserve.info = dst->info; |
350 | dst->priv_print = src->priv_print; | 350 | |
351 | 351 | *dst = *src; | |
352 | dst->old_priv_encode = src->old_priv_encode; | 352 | |
353 | dst->old_priv_decode = src->old_priv_decode; | 353 | dst->pkey_id = preserve.pkey_id; |
354 | 354 | dst->pkey_base_id = preserve.pkey_base_id; | |
355 | dst->pkey_size = src->pkey_size; | 355 | dst->pkey_flags = preserve.pkey_flags; |
356 | dst->pkey_bits = src->pkey_bits; | 356 | dst->pem_str = preserve.pem_str; |
357 | 357 | dst->info = preserve.info; | |
358 | dst->param_decode = src->param_decode; | ||
359 | dst->param_encode = src->param_encode; | ||
360 | dst->param_missing = src->param_missing; | ||
361 | dst->param_copy = src->param_copy; | ||
362 | dst->param_cmp = src->param_cmp; | ||
363 | dst->param_print = src->param_print; | ||
364 | dst->sig_print = src->sig_print; | ||
365 | |||
366 | dst->pkey_free = src->pkey_free; | ||
367 | dst->pkey_ctrl = src->pkey_ctrl; | ||
368 | |||
369 | dst->item_sign = src->item_sign; | ||
370 | dst->item_verify = src->item_verify; | ||
371 | } | 358 | } |
372 | 359 | ||
373 | void | 360 | void |