diff options
Diffstat (limited to 'src/lib/libcrypto/asn1/x_x509.c')
-rw-r--r-- | src/lib/libcrypto/asn1/x_x509.c | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/src/lib/libcrypto/asn1/x_x509.c b/src/lib/libcrypto/asn1/x_x509.c index e118696625..dafd3cc921 100644 --- a/src/lib/libcrypto/asn1/x_x509.c +++ b/src/lib/libcrypto/asn1/x_x509.c | |||
@@ -81,7 +81,8 @@ IMPLEMENT_ASN1_FUNCTIONS(X509_CINF) | |||
81 | 81 | ||
82 | extern void policy_cache_free(X509_POLICY_CACHE *cache); | 82 | extern void policy_cache_free(X509_POLICY_CACHE *cache); |
83 | 83 | ||
84 | static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it) | 84 | static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it, |
85 | void *exarg) | ||
85 | { | 86 | { |
86 | X509 *ret = (X509 *)*pval; | 87 | X509 *ret = (X509 *)*pval; |
87 | 88 | ||
@@ -99,6 +100,7 @@ static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it) | |||
99 | ret->rfc3779_asid = NULL; | 100 | ret->rfc3779_asid = NULL; |
100 | #endif | 101 | #endif |
101 | ret->aux = NULL; | 102 | ret->aux = NULL; |
103 | ret->crldp = NULL; | ||
102 | CRYPTO_new_ex_data(CRYPTO_EX_INDEX_X509, ret, &ret->ex_data); | 104 | CRYPTO_new_ex_data(CRYPTO_EX_INDEX_X509, ret, &ret->ex_data); |
103 | break; | 105 | break; |
104 | 106 | ||
@@ -112,7 +114,10 @@ static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it) | |||
112 | X509_CERT_AUX_free(ret->aux); | 114 | X509_CERT_AUX_free(ret->aux); |
113 | ASN1_OCTET_STRING_free(ret->skid); | 115 | ASN1_OCTET_STRING_free(ret->skid); |
114 | AUTHORITY_KEYID_free(ret->akid); | 116 | AUTHORITY_KEYID_free(ret->akid); |
117 | CRL_DIST_POINTS_free(ret->crldp); | ||
115 | policy_cache_free(ret->policy_cache); | 118 | policy_cache_free(ret->policy_cache); |
119 | GENERAL_NAMES_free(ret->altname); | ||
120 | NAME_CONSTRAINTS_free(ret->nc); | ||
116 | #ifndef OPENSSL_NO_RFC3779 | 121 | #ifndef OPENSSL_NO_RFC3779 |
117 | sk_IPAddressFamily_pop_free(ret->rfc3779_addr, IPAddressFamily_free); | 122 | sk_IPAddressFamily_pop_free(ret->rfc3779_addr, IPAddressFamily_free); |
118 | ASIdentifiers_free(ret->rfc3779_asid); | 123 | ASIdentifiers_free(ret->rfc3779_asid); |
@@ -136,19 +141,6 @@ ASN1_SEQUENCE_ref(X509, x509_cb, CRYPTO_LOCK_X509) = { | |||
136 | IMPLEMENT_ASN1_FUNCTIONS(X509) | 141 | IMPLEMENT_ASN1_FUNCTIONS(X509) |
137 | IMPLEMENT_ASN1_DUP_FUNCTION(X509) | 142 | IMPLEMENT_ASN1_DUP_FUNCTION(X509) |
138 | 143 | ||
139 | static ASN1_METHOD meth= | ||
140 | { | ||
141 | (I2D_OF(void)) i2d_X509, | ||
142 | (D2I_OF(void)) d2i_X509, | ||
143 | (void *(*)(void))X509_new, | ||
144 | (void (*)(void *)) X509_free | ||
145 | }; | ||
146 | |||
147 | ASN1_METHOD *X509_asn1_meth(void) | ||
148 | { | ||
149 | return(&meth); | ||
150 | } | ||
151 | |||
152 | int X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, | 144 | int X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, |
153 | CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) | 145 | CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) |
154 | { | 146 | { |