diff options
author | Theo Buehler <tb@cvs.openbsd.org> | 2018-04-23 08:07:51 +0000 |
---|---|---|
committer | Theo Buehler <tb@cvs.openbsd.org> | 2018-04-23 08:07:51 +0000 |
commit | 7e00e1cfa5ab519b68fc157be29d836d8f240dc8 (patch) | |
tree | d358a1479734c006e596dec2fc5dd0600c12c2c5 /regress/lib | |
parent | 82065245cdcc1958d636b1602d868191e601fa7d (diff) |
Add a big pile of *_free() functions which I audited to be NULL-safe.
Diffstat (limited to 'regress/lib')
-rw-r--r-- | regress/lib/libcrypto/free/freenull.c | 111 |
1 files changed, 109 insertions, 2 deletions
diff --git a/regress/lib/libcrypto/free/freenull.c b/regress/lib/libcrypto/free/freenull.c index 89cbd825395..cbc6fdd72b1 100644 --- a/regress/lib/libcrypto/free/freenull.c +++ b/regress/lib/libcrypto/free/freenull.c @@ -1,4 +1,4 @@ -/* $OpenBSD: freenull.c,v 1.7 2018/04/14 07:18:37 tb Exp $ */ +/* $OpenBSD: freenull.c,v 1.8 2018/04/23 08:07:50 tb Exp $ */ /* * Copyright (c) 2017 Bob Beck <beck@openbsd.org> * @@ -16,10 +16,15 @@ */ #include <openssl/asn1.h> -#include <openssl/ocsp.h> +#include <openssl/cmac.h> +#include <openssl/comp.h> +#include <openssl/conf_api.h> #ifndef OPENSSL_NO_ENGINE #include <openssl/engine.h> #endif +#include <openssl/gost.h> +#include <openssl/hmac.h> +#include <openssl/ocsp.h> #include <openssl/pkcs12.h> #include <openssl/ts.h> #include <openssl/ui.h> @@ -35,74 +40,176 @@ int main(int argc, char **argv) { + ACCESS_DESCRIPTION_free(NULL); + ASN1_BIT_STRING_free(NULL); + ASN1_BMPSTRING_free(NULL); ASN1_ENUMERATED_free(NULL); ASN1_GENERALIZEDTIME_free(NULL); + ASN1_GENERALSTRING_free(NULL); + ASN1_IA5STRING_free(NULL); ASN1_INTEGER_free(NULL); + ASN1_NULL_free(NULL); ASN1_OBJECT_free(NULL); ASN1_OCTET_STRING_free(NULL); + ASN1_PCTX_free(NULL); + ASN1_PRINTABLESTRING_free(NULL); + ASN1_PRINTABLE_free(NULL); + ASN1_STRING_free(NULL); + ASN1_T61STRING_free(NULL); ASN1_TIME_free(NULL); ASN1_TYPE_free(NULL); + ASN1_UNIVERSALSTRING_free(NULL); ASN1_UTCTIME_free(NULL); + ASN1_UTF8STRING_free(NULL); + ASN1_VISIBLESTRING_free(NULL); + AUTHORITY_INFO_ACCESS_free(NULL); + AUTHORITY_KEYID_free(NULL); + BASIC_CONSTRAINTS_free(NULL); BIO_free(NULL); BIO_free_all(NULL); + BIO_meth_free(NULL); + BN_BLINDING_free(NULL); + BN_CTX_free(NULL); + BN_GENCB_free(NULL); + BN_MONT_CTX_free(NULL); + BN_RECP_CTX_free(NULL); BN_clear_free(NULL); BN_free(NULL); BUF_MEM_free(NULL); + CERTIFICATEPOLICIES_free(NULL); + CMAC_CTX_free(NULL); + COMP_CTX_free(NULL); CONF_free(NULL); + CRL_DIST_POINTS_free(NULL); DH_free(NULL); + DIRECTORYSTRING_free(NULL); + DISPLAYTEXT_free(NULL); + DIST_POINT_NAME_free(NULL); DIST_POINT_free(NULL); DSA_SIG_free(NULL); DSA_free(NULL); + DSA_meth_free(NULL); ECDSA_SIG_free(NULL); + EC_GROUP_clear_free(NULL); EC_GROUP_free(NULL); EC_KEY_free(NULL); EC_POINT_clear_free(NULL); EC_POINT_free(NULL); + EDIPARTYNAME_free(NULL); #ifndef OPENSSL_NO_ENGINE ENGINE_free(NULL); #endif + ESS_CERT_ID_free(NULL); + ESS_ISSUER_SERIAL_free(NULL); + ESS_SIGNING_CERT_free(NULL); EVP_CIPHER_CTX_free(NULL); + EVP_MD_CTX_free(NULL); EVP_PKEY_CTX_free(NULL); + EVP_PKEY_asn1_free(NULL); EVP_PKEY_free(NULL); + EVP_PKEY_meth_free(NULL); + EXTENDED_KEY_USAGE_free(NULL); + GENERAL_NAMES_free(NULL); GENERAL_NAME_free(NULL); GENERAL_SUBTREE_free(NULL); + GOST_CIPHER_PARAMS_free(NULL); + GOST_KEY_free(NULL); + HMAC_CTX_free(NULL); + ISSUING_DIST_POINT_free(NULL); NAME_CONSTRAINTS_free(NULL); NCONF_free(NULL); + NCONF_free_data(NULL); NETSCAPE_CERT_SEQUENCE_free(NULL); + NETSCAPE_SPKAC_free(NULL); NETSCAPE_SPKI_free(NULL); NETSCAPE_X509_free(NULL); + NOTICEREF_free(NULL); OCSP_BASICRESP_free(NULL); OCSP_CERTID_free(NULL); + OCSP_CERTSTATUS_free(NULL); + OCSP_CRLID_free(NULL); + OCSP_ONEREQ_free(NULL); + OCSP_REQINFO_free(NULL); OCSP_REQUEST_free(NULL); OCSP_REQ_CTX_free(NULL); + OCSP_RESPBYTES_free(NULL); + OCSP_RESPDATA_free(NULL); + OCSP_RESPID_free(NULL); OCSP_RESPONSE_free(NULL); + OCSP_REVOKEDINFO_free(NULL); + OCSP_SERVICELOC_free(NULL); + OCSP_SIGNATURE_free(NULL); + OCSP_SINGLERESP_free(NULL); + OTHERNAME_free(NULL); PBEPARAM_free(NULL); + PBKDF2PARAM_free(NULL); + PKCS12_BAGS_free(NULL); + PKCS12_MAC_DATA_free(NULL); + PKCS12_SAFEBAG_free(NULL); PKCS12_free(NULL); + PKCS7_DIGEST_free(NULL); + PKCS7_ENCRYPT_free(NULL); + PKCS7_ENC_CONTENT_free(NULL); + PKCS7_ENVELOPE_free(NULL); + PKCS7_ISSUER_AND_SERIAL_free(NULL); + PKCS7_RECIP_INFO_free(NULL); + PKCS7_SIGNED_free(NULL); + PKCS7_SIGNER_INFO_free(NULL); + PKCS7_SIGN_ENVELOPE_free(NULL); PKCS7_free(NULL); PKCS8_PRIV_KEY_INFO_free(NULL); + PKEY_USAGE_PERIOD_free(NULL); + POLICYINFO_free(NULL); + POLICYQUALINFO_free(NULL); + POLICY_CONSTRAINTS_free(NULL); + POLICY_MAPPING_free(NULL); + PROXY_CERT_INFO_EXTENSION_free(NULL); + PROXY_POLICY_free(NULL); + RSA_PSS_PARAMS_free(NULL); RSA_free(NULL); + RSA_meth_free(NULL); + SXNETID_free(NULL); + SXNET_free(NULL); + TS_ACCURACY_free(NULL); TS_MSG_IMPRINT_free(NULL); + TS_REQ_ext_free(NULL); TS_REQ_free(NULL); TS_RESP_CTX_free(NULL); TS_RESP_free(NULL); TS_STATUS_INFO_free(NULL); + TS_TST_INFO_ext_free(NULL); TS_TST_INFO_free(NULL); TS_VERIFY_CTX_free(NULL); TXT_DB_free(NULL); UI_free(NULL); + USERNOTICE_free(NULL); + X509V3_conf_free(NULL); X509_ALGOR_free(NULL); + X509_ATTRIBUTE_free(NULL); + X509_CERT_AUX_free(NULL); + X509_CERT_PAIR_free(NULL); + X509_CINF_free(NULL); + X509_CRL_INFO_free(NULL); X509_CRL_free(NULL); X509_EXTENSION_free(NULL); X509_INFO_free(NULL); + X509_LOOKUP_free(NULL); X509_NAME_ENTRY_free(NULL); X509_NAME_free(NULL); + X509_PKEY_free(NULL); + X509_PUBKEY_free(NULL); + X509_REQ_INFO_free(NULL); X509_REQ_free(NULL); + X509_REVOKED_free(NULL); X509_SIG_free(NULL); X509_STORE_CTX_free(NULL); X509_STORE_free(NULL); + X509_VAL_free(NULL); X509_VERIFY_PARAM_free(NULL); X509_email_free(NULL); X509_free(NULL); + X509_policy_tree_free(NULL); + _CONF_free_data(NULL); lh_FUNCTION_free(NULL); |