Fix a use-after-free in the child provider code
[openssl.git] / crypto / err / err_all.c
1 /*
2  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
3  *
4  * Licensed under the Apache License 2.0 (the "License").  You may not use
5  * this file except in compliance with the License.  You can obtain a copy
6  * in the file LICENSE in the source distribution or at
7  * https://www.openssl.org/source/license.html
8  */
9
10 #include <stdio.h>
11 #include <openssl/err.h>
12 #include "crypto/err.h"
13 #include "crypto/cryptoerr.h"
14 #include "crypto/asn1err.h"
15 #include "crypto/bnerr.h"
16 #include "crypto/ecerr.h"
17 #include "crypto/buffererr.h"
18 #include "crypto/bioerr.h"
19 #include "crypto/comperr.h"
20 #include "crypto/rsaerr.h"
21 #include "crypto/dherr.h"
22 #include "crypto/dsaerr.h"
23 #include "crypto/evperr.h"
24 #include "crypto/objectserr.h"
25 #include "crypto/pemerr.h"
26 #include "crypto/pkcs7err.h"
27 #include "crypto/x509err.h"
28 #include "crypto/x509v3err.h"
29 #include "crypto/conferr.h"
30 #include "crypto/pkcs12err.h"
31 #include "crypto/randerr.h"
32 #include "internal/dsoerr.h"
33 #include "crypto/engineerr.h"
34 #include "crypto/uierr.h"
35 #include "crypto/httperr.h"
36 #include "crypto/ocsperr.h"
37 #include "crypto/tserr.h"
38 #include "crypto/cmserr.h"
39 #include "crypto/crmferr.h"
40 #include "crypto/cmperr.h"
41 #include "crypto/cterr.h"
42 #include "crypto/asyncerr.h"
43 #include "crypto/storeerr.h"
44 #include "crypto/esserr.h"
45 #include "internal/propertyerr.h"
46 #include "prov/proverr.h"
47
48 int err_load_crypto_strings_int(void)
49 {
50     if (0
51 #ifndef OPENSSL_NO_ERR
52         || err_load_ERR_strings_int() == 0 /* include error strings for SYSerr */
53         || err_load_BN_strings_int() == 0
54         || err_load_RSA_strings_int() == 0
55 # ifndef OPENSSL_NO_DH
56         || err_load_DH_strings_int() == 0
57 # endif
58         || err_load_EVP_strings_int() == 0
59         || err_load_BUF_strings_int() == 0
60         || err_load_OBJ_strings_int() == 0
61         || err_load_PEM_strings_int() == 0
62 # ifndef OPENSSL_NO_DSA
63         || err_load_DSA_strings_int() == 0
64 # endif
65         || err_load_X509_strings_int() == 0
66         || err_load_ASN1_strings_int() == 0
67         || err_load_CONF_strings_int() == 0
68         || err_load_CRYPTO_strings_int() == 0
69 # ifndef OPENSSL_NO_COMP
70         || err_load_COMP_strings_int() == 0
71 # endif
72 # ifndef OPENSSL_NO_EC
73         || err_load_EC_strings_int() == 0
74 # endif
75         /* skip err_load_SSL_strings_int() because it is not in this library */
76         || err_load_BIO_strings_int() == 0
77         || err_load_PKCS7_strings_int() == 0
78         || err_load_X509V3_strings_int() == 0
79         || err_load_PKCS12_strings_int() == 0
80         || err_load_RAND_strings_int() == 0
81         || err_load_DSO_strings_int() == 0
82 # ifndef OPENSSL_NO_TS
83         || err_load_TS_strings_int() == 0
84 # endif
85 # ifndef OPENSSL_NO_ENGINE
86         || err_load_ENGINE_strings_int() == 0
87 # endif
88         || err_load_HTTP_strings_int() == 0
89 # ifndef OPENSSL_NO_OCSP
90         || err_load_OCSP_strings_int() == 0
91 # endif
92         || err_load_UI_strings_int() == 0
93 # ifndef OPENSSL_NO_CMS
94         || err_load_CMS_strings_int() == 0
95 # endif
96 # ifndef OPENSSL_NO_CRMF
97         || err_load_CRMF_strings_int() == 0
98         || err_load_CMP_strings_int() == 0
99 # endif
100 # ifndef OPENSSL_NO_CT
101         || err_load_CT_strings_int() == 0
102 # endif
103         || err_load_ESS_strings_int() == 0
104         || err_load_ASYNC_strings_int() == 0
105         || err_load_OSSL_STORE_strings_int() == 0
106         || err_load_PROP_strings_int() == 0
107         || err_load_PROV_strings_int() == 0
108 #endif
109         )
110         return 0;
111
112     return 1;
113 }