diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/asn1/x_name.c | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/src/lib/libcrypto/asn1/x_name.c b/src/lib/libcrypto/asn1/x_name.c index 4bf184252f..0961ee33eb 100644 --- a/src/lib/libcrypto/asn1/x_name.c +++ b/src/lib/libcrypto/asn1/x_name.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_name.c,v 1.34 2018/02/20 17:09:20 jsing Exp $ */ | 1 | /* $OpenBSD: x_name.c,v 1.35 2021/07/04 11:38:37 schwarze Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -626,19 +626,13 @@ i2d_name_canon(STACK_OF(STACK_OF_X509_NAME_ENTRY) *_intname, unsigned char **in) | |||
| 626 | int | 626 | int |
| 627 | X509_NAME_set(X509_NAME **xn, X509_NAME *name) | 627 | X509_NAME_set(X509_NAME **xn, X509_NAME *name) |
| 628 | { | 628 | { |
| 629 | X509_NAME *in; | 629 | if (*xn == name) |
| 630 | 630 | return *xn != NULL; | |
| 631 | if (!xn || !name) | 631 | if ((name = X509_NAME_dup(name)) == NULL) |
| 632 | return (0); | 632 | return 0; |
| 633 | 633 | X509_NAME_free(*xn); | |
| 634 | if (*xn != name) { | 634 | *xn = name; |
| 635 | in = X509_NAME_dup(name); | 635 | return 1; |
| 636 | if (in != NULL) { | ||
| 637 | X509_NAME_free(*xn); | ||
| 638 | *xn = in; | ||
| 639 | } | ||
| 640 | } | ||
| 641 | return (*xn != NULL); | ||
| 642 | } | 636 | } |
| 643 | 637 | ||
| 644 | int | 638 | int |
