diff options
author | tb <> | 2018-04-23 08:07:50 +0000 |
---|---|---|
committer | tb <> | 2018-04-23 08:07:50 +0000 |
commit | c0bbb051da69fac60744f26d86e26e6f067ed8d3 (patch) | |
tree | 70d3436e989e9b6c64c18001917c3780bb054570 /src | |
parent | dc0b189f0af7e0aa3020fbab469519a0ef8f5bc5 (diff) | |
download | openbsd-c0bbb051da69fac60744f26d86e26e6f067ed8d3.tar.gz openbsd-c0bbb051da69fac60744f26d86e26e6f067ed8d3.tar.bz2 openbsd-c0bbb051da69fac60744f26d86e26e6f067ed8d3.zip |
Add a big pile of *_free() functions which I audited to be NULL-safe.
Diffstat (limited to 'src')
-rw-r--r-- | src/regress/lib/libcrypto/free/freenull.c | 111 |
1 files changed, 109 insertions, 2 deletions
diff --git a/src/regress/lib/libcrypto/free/freenull.c b/src/regress/lib/libcrypto/free/freenull.c index 89cbd82539..cbc6fdd72b 100644 --- a/src/regress/lib/libcrypto/free/freenull.c +++ b/src/regress/lib/libcrypto/free/freenull.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: freenull.c,v 1.7 2018/04/14 07:18:37 tb Exp $ */ | 1 | /* $OpenBSD: freenull.c,v 1.8 2018/04/23 08:07:50 tb Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2017 Bob Beck <beck@openbsd.org> | 3 | * Copyright (c) 2017 Bob Beck <beck@openbsd.org> |
4 | * | 4 | * |
@@ -16,10 +16,15 @@ | |||
16 | */ | 16 | */ |
17 | 17 | ||
18 | #include <openssl/asn1.h> | 18 | #include <openssl/asn1.h> |
19 | #include <openssl/ocsp.h> | 19 | #include <openssl/cmac.h> |
20 | #include <openssl/comp.h> | ||
21 | #include <openssl/conf_api.h> | ||
20 | #ifndef OPENSSL_NO_ENGINE | 22 | #ifndef OPENSSL_NO_ENGINE |
21 | #include <openssl/engine.h> | 23 | #include <openssl/engine.h> |
22 | #endif | 24 | #endif |
25 | #include <openssl/gost.h> | ||
26 | #include <openssl/hmac.h> | ||
27 | #include <openssl/ocsp.h> | ||
23 | #include <openssl/pkcs12.h> | 28 | #include <openssl/pkcs12.h> |
24 | #include <openssl/ts.h> | 29 | #include <openssl/ts.h> |
25 | #include <openssl/ui.h> | 30 | #include <openssl/ui.h> |
@@ -35,74 +40,176 @@ | |||
35 | int | 40 | int |
36 | main(int argc, char **argv) | 41 | main(int argc, char **argv) |
37 | { | 42 | { |
43 | ACCESS_DESCRIPTION_free(NULL); | ||
44 | ASN1_BIT_STRING_free(NULL); | ||
45 | ASN1_BMPSTRING_free(NULL); | ||
38 | ASN1_ENUMERATED_free(NULL); | 46 | ASN1_ENUMERATED_free(NULL); |
39 | ASN1_GENERALIZEDTIME_free(NULL); | 47 | ASN1_GENERALIZEDTIME_free(NULL); |
48 | ASN1_GENERALSTRING_free(NULL); | ||
49 | ASN1_IA5STRING_free(NULL); | ||
40 | ASN1_INTEGER_free(NULL); | 50 | ASN1_INTEGER_free(NULL); |
51 | ASN1_NULL_free(NULL); | ||
41 | ASN1_OBJECT_free(NULL); | 52 | ASN1_OBJECT_free(NULL); |
42 | ASN1_OCTET_STRING_free(NULL); | 53 | ASN1_OCTET_STRING_free(NULL); |
54 | ASN1_PCTX_free(NULL); | ||
55 | ASN1_PRINTABLESTRING_free(NULL); | ||
56 | ASN1_PRINTABLE_free(NULL); | ||
57 | ASN1_STRING_free(NULL); | ||
58 | ASN1_T61STRING_free(NULL); | ||
43 | ASN1_TIME_free(NULL); | 59 | ASN1_TIME_free(NULL); |
44 | ASN1_TYPE_free(NULL); | 60 | ASN1_TYPE_free(NULL); |
61 | ASN1_UNIVERSALSTRING_free(NULL); | ||
45 | ASN1_UTCTIME_free(NULL); | 62 | ASN1_UTCTIME_free(NULL); |
63 | ASN1_UTF8STRING_free(NULL); | ||
64 | ASN1_VISIBLESTRING_free(NULL); | ||
65 | AUTHORITY_INFO_ACCESS_free(NULL); | ||
66 | AUTHORITY_KEYID_free(NULL); | ||
67 | BASIC_CONSTRAINTS_free(NULL); | ||
46 | BIO_free(NULL); | 68 | BIO_free(NULL); |
47 | BIO_free_all(NULL); | 69 | BIO_free_all(NULL); |
70 | BIO_meth_free(NULL); | ||
71 | BN_BLINDING_free(NULL); | ||
72 | BN_CTX_free(NULL); | ||
73 | BN_GENCB_free(NULL); | ||
74 | BN_MONT_CTX_free(NULL); | ||
75 | BN_RECP_CTX_free(NULL); | ||
48 | BN_clear_free(NULL); | 76 | BN_clear_free(NULL); |
49 | BN_free(NULL); | 77 | BN_free(NULL); |
50 | BUF_MEM_free(NULL); | 78 | BUF_MEM_free(NULL); |
79 | CERTIFICATEPOLICIES_free(NULL); | ||
80 | CMAC_CTX_free(NULL); | ||
81 | COMP_CTX_free(NULL); | ||
51 | CONF_free(NULL); | 82 | CONF_free(NULL); |
83 | CRL_DIST_POINTS_free(NULL); | ||
52 | DH_free(NULL); | 84 | DH_free(NULL); |
85 | DIRECTORYSTRING_free(NULL); | ||
86 | DISPLAYTEXT_free(NULL); | ||
87 | DIST_POINT_NAME_free(NULL); | ||
53 | DIST_POINT_free(NULL); | 88 | DIST_POINT_free(NULL); |
54 | DSA_SIG_free(NULL); | 89 | DSA_SIG_free(NULL); |
55 | DSA_free(NULL); | 90 | DSA_free(NULL); |
91 | DSA_meth_free(NULL); | ||
56 | ECDSA_SIG_free(NULL); | 92 | ECDSA_SIG_free(NULL); |
93 | EC_GROUP_clear_free(NULL); | ||
57 | EC_GROUP_free(NULL); | 94 | EC_GROUP_free(NULL); |
58 | EC_KEY_free(NULL); | 95 | EC_KEY_free(NULL); |
59 | EC_POINT_clear_free(NULL); | 96 | EC_POINT_clear_free(NULL); |
60 | EC_POINT_free(NULL); | 97 | EC_POINT_free(NULL); |
98 | EDIPARTYNAME_free(NULL); | ||
61 | #ifndef OPENSSL_NO_ENGINE | 99 | #ifndef OPENSSL_NO_ENGINE |
62 | ENGINE_free(NULL); | 100 | ENGINE_free(NULL); |
63 | #endif | 101 | #endif |
102 | ESS_CERT_ID_free(NULL); | ||
103 | ESS_ISSUER_SERIAL_free(NULL); | ||
104 | ESS_SIGNING_CERT_free(NULL); | ||
64 | EVP_CIPHER_CTX_free(NULL); | 105 | EVP_CIPHER_CTX_free(NULL); |
106 | EVP_MD_CTX_free(NULL); | ||
65 | EVP_PKEY_CTX_free(NULL); | 107 | EVP_PKEY_CTX_free(NULL); |
108 | EVP_PKEY_asn1_free(NULL); | ||
66 | EVP_PKEY_free(NULL); | 109 | EVP_PKEY_free(NULL); |
110 | EVP_PKEY_meth_free(NULL); | ||
111 | EXTENDED_KEY_USAGE_free(NULL); | ||
112 | GENERAL_NAMES_free(NULL); | ||
67 | GENERAL_NAME_free(NULL); | 113 | GENERAL_NAME_free(NULL); |
68 | GENERAL_SUBTREE_free(NULL); | 114 | GENERAL_SUBTREE_free(NULL); |
115 | GOST_CIPHER_PARAMS_free(NULL); | ||
116 | GOST_KEY_free(NULL); | ||
117 | HMAC_CTX_free(NULL); | ||
118 | ISSUING_DIST_POINT_free(NULL); | ||
69 | NAME_CONSTRAINTS_free(NULL); | 119 | NAME_CONSTRAINTS_free(NULL); |
70 | NCONF_free(NULL); | 120 | NCONF_free(NULL); |
121 | NCONF_free_data(NULL); | ||
71 | NETSCAPE_CERT_SEQUENCE_free(NULL); | 122 | NETSCAPE_CERT_SEQUENCE_free(NULL); |
123 | NETSCAPE_SPKAC_free(NULL); | ||
72 | NETSCAPE_SPKI_free(NULL); | 124 | NETSCAPE_SPKI_free(NULL); |
73 | NETSCAPE_X509_free(NULL); | 125 | NETSCAPE_X509_free(NULL); |
126 | NOTICEREF_free(NULL); | ||
74 | OCSP_BASICRESP_free(NULL); | 127 | OCSP_BASICRESP_free(NULL); |
75 | OCSP_CERTID_free(NULL); | 128 | OCSP_CERTID_free(NULL); |
129 | OCSP_CERTSTATUS_free(NULL); | ||
130 | OCSP_CRLID_free(NULL); | ||
131 | OCSP_ONEREQ_free(NULL); | ||
132 | OCSP_REQINFO_free(NULL); | ||
76 | OCSP_REQUEST_free(NULL); | 133 | OCSP_REQUEST_free(NULL); |
77 | OCSP_REQ_CTX_free(NULL); | 134 | OCSP_REQ_CTX_free(NULL); |
135 | OCSP_RESPBYTES_free(NULL); | ||
136 | OCSP_RESPDATA_free(NULL); | ||
137 | OCSP_RESPID_free(NULL); | ||
78 | OCSP_RESPONSE_free(NULL); | 138 | OCSP_RESPONSE_free(NULL); |
139 | OCSP_REVOKEDINFO_free(NULL); | ||
140 | OCSP_SERVICELOC_free(NULL); | ||
141 | OCSP_SIGNATURE_free(NULL); | ||
142 | OCSP_SINGLERESP_free(NULL); | ||
143 | OTHERNAME_free(NULL); | ||
79 | PBEPARAM_free(NULL); | 144 | PBEPARAM_free(NULL); |
145 | PBKDF2PARAM_free(NULL); | ||
146 | PKCS12_BAGS_free(NULL); | ||
147 | PKCS12_MAC_DATA_free(NULL); | ||
148 | PKCS12_SAFEBAG_free(NULL); | ||
80 | PKCS12_free(NULL); | 149 | PKCS12_free(NULL); |
150 | PKCS7_DIGEST_free(NULL); | ||
151 | PKCS7_ENCRYPT_free(NULL); | ||
152 | PKCS7_ENC_CONTENT_free(NULL); | ||
153 | PKCS7_ENVELOPE_free(NULL); | ||
154 | PKCS7_ISSUER_AND_SERIAL_free(NULL); | ||
155 | PKCS7_RECIP_INFO_free(NULL); | ||
156 | PKCS7_SIGNED_free(NULL); | ||
157 | PKCS7_SIGNER_INFO_free(NULL); | ||
158 | PKCS7_SIGN_ENVELOPE_free(NULL); | ||
81 | PKCS7_free(NULL); | 159 | PKCS7_free(NULL); |
82 | PKCS8_PRIV_KEY_INFO_free(NULL); | 160 | PKCS8_PRIV_KEY_INFO_free(NULL); |
161 | PKEY_USAGE_PERIOD_free(NULL); | ||
162 | POLICYINFO_free(NULL); | ||
163 | POLICYQUALINFO_free(NULL); | ||
164 | POLICY_CONSTRAINTS_free(NULL); | ||
165 | POLICY_MAPPING_free(NULL); | ||
166 | PROXY_CERT_INFO_EXTENSION_free(NULL); | ||
167 | PROXY_POLICY_free(NULL); | ||
168 | RSA_PSS_PARAMS_free(NULL); | ||
83 | RSA_free(NULL); | 169 | RSA_free(NULL); |
170 | RSA_meth_free(NULL); | ||
171 | SXNETID_free(NULL); | ||
172 | SXNET_free(NULL); | ||
173 | TS_ACCURACY_free(NULL); | ||
84 | TS_MSG_IMPRINT_free(NULL); | 174 | TS_MSG_IMPRINT_free(NULL); |
175 | TS_REQ_ext_free(NULL); | ||
85 | TS_REQ_free(NULL); | 176 | TS_REQ_free(NULL); |
86 | TS_RESP_CTX_free(NULL); | 177 | TS_RESP_CTX_free(NULL); |
87 | TS_RESP_free(NULL); | 178 | TS_RESP_free(NULL); |
88 | TS_STATUS_INFO_free(NULL); | 179 | TS_STATUS_INFO_free(NULL); |
180 | TS_TST_INFO_ext_free(NULL); | ||
89 | TS_TST_INFO_free(NULL); | 181 | TS_TST_INFO_free(NULL); |
90 | TS_VERIFY_CTX_free(NULL); | 182 | TS_VERIFY_CTX_free(NULL); |
91 | TXT_DB_free(NULL); | 183 | TXT_DB_free(NULL); |
92 | UI_free(NULL); | 184 | UI_free(NULL); |
185 | USERNOTICE_free(NULL); | ||
186 | X509V3_conf_free(NULL); | ||
93 | X509_ALGOR_free(NULL); | 187 | X509_ALGOR_free(NULL); |
188 | X509_ATTRIBUTE_free(NULL); | ||
189 | X509_CERT_AUX_free(NULL); | ||
190 | X509_CERT_PAIR_free(NULL); | ||
191 | X509_CINF_free(NULL); | ||
192 | X509_CRL_INFO_free(NULL); | ||
94 | X509_CRL_free(NULL); | 193 | X509_CRL_free(NULL); |
95 | X509_EXTENSION_free(NULL); | 194 | X509_EXTENSION_free(NULL); |
96 | X509_INFO_free(NULL); | 195 | X509_INFO_free(NULL); |
196 | X509_LOOKUP_free(NULL); | ||
97 | X509_NAME_ENTRY_free(NULL); | 197 | X509_NAME_ENTRY_free(NULL); |
98 | X509_NAME_free(NULL); | 198 | X509_NAME_free(NULL); |
199 | X509_PKEY_free(NULL); | ||
200 | X509_PUBKEY_free(NULL); | ||
201 | X509_REQ_INFO_free(NULL); | ||
99 | X509_REQ_free(NULL); | 202 | X509_REQ_free(NULL); |
203 | X509_REVOKED_free(NULL); | ||
100 | X509_SIG_free(NULL); | 204 | X509_SIG_free(NULL); |
101 | X509_STORE_CTX_free(NULL); | 205 | X509_STORE_CTX_free(NULL); |
102 | X509_STORE_free(NULL); | 206 | X509_STORE_free(NULL); |
207 | X509_VAL_free(NULL); | ||
103 | X509_VERIFY_PARAM_free(NULL); | 208 | X509_VERIFY_PARAM_free(NULL); |
104 | X509_email_free(NULL); | 209 | X509_email_free(NULL); |
105 | X509_free(NULL); | 210 | X509_free(NULL); |
211 | X509_policy_tree_free(NULL); | ||
212 | _CONF_free_data(NULL); | ||
106 | 213 | ||
107 | lh_FUNCTION_free(NULL); | 214 | lh_FUNCTION_free(NULL); |
108 | 215 | ||