openssl/crypto
Dr. Matthias St. Pierre 3e8307924e err: fix crash in ERR_load_strings() when configured with no-err
This commit removes the entire initialization and cleanup of the
error string hash table (`int_error_hash`) if `no-err` is configured.
The only operative function remaining is `ERR_get_next_error_library()`.
That is the reason why the `err_string_lock` and hence the
`do_err_strings_init()` function can't be removed entirely.

Fixes #17971

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17974)

(cherry picked from commit 11e85b8941)
2022-05-10 09:49:59 +02:00
..
aes Update copyright year 2022-03-15 13:52:58 +00:00
aria Update copyright year 2021-04-08 13:04:41 +01:00
asn1 Update copyright year 2022-05-03 13:36:42 +01:00
async Update copyright year 2022-03-15 13:52:58 +00:00
bf
bio Update copyright year 2022-03-15 13:52:58 +00:00
bn Update copyright year 2022-05-03 13:36:42 +01:00
buffer Update copyright year 2021-06-17 13:24:59 +01:00
camellia Update copyright year 2022-05-03 13:36:42 +01:00
cast
chacha Use .s extension for ia64 assembler 2022-04-25 14:06:07 +02:00
cmac EVP_Cipher: fix the incomplete return check 2021-11-16 17:29:07 +01:00
cmp Update copyright year 2022-03-15 13:52:58 +00:00
cms Update copyright year 2022-05-03 13:36:42 +01:00
comp Fix coverity 1493364 & 1493375: unchecked return value 2021-11-08 08:56:38 +10:00
conf Update copyright year 2022-05-03 13:36:42 +01:00
crmf crmf_lib.c: Make sure Ed signature for POPO is called without digest 2022-05-05 09:53:17 +02:00
ct Update copyright year 2021-06-17 13:24:59 +01:00
des Update copyright year 2021-12-14 14:41:27 +00:00
dh Update copyright year 2022-05-03 13:36:42 +01:00
dsa Update copyright year 2022-03-15 13:52:58 +00:00
dso Update copyright year 2021-12-14 14:41:27 +00:00
ec Update copyright year 2022-05-03 13:36:42 +01:00
encode_decode Add method store cache flush and method removal to non-EVP operations 2022-05-05 15:14:37 +02:00
engine Update copyright year 2022-05-03 13:36:42 +01:00
err err: fix crash in ERR_load_strings() when configured with no-err 2022-05-10 09:49:59 +02:00
ess err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
evp EVP_PKEY_Q_keygen: Call OPENSSL_init_crypto to init strcasecmp 2022-05-09 08:44:11 +02:00
ffc Update copyright year 2022-05-03 13:36:42 +01:00
hmac Adapt other parts of the source to the changed EVP_Q_digest() and EVP_Q_mac() 2021-06-23 23:00:36 +02:00
http http_client.c: check expected content type only if HTTP status code is 200 (OK) 2022-05-02 08:24:02 +02:00
idea Update copyright year 2021-04-08 13:04:41 +01:00
kdf
lhash Fix bug in OPENSSL_LH_flush 2022-04-25 13:20:13 +02:00
md2
md4
md5 Update copyright year 2021-07-29 15:41:35 +01:00
mdc2
modes Update copyright year 2021-07-29 15:41:35 +01:00
objects Update copyright year 2022-05-03 13:36:42 +01:00
ocsp Update copyright year 2022-05-03 13:36:42 +01:00
pem Update copyright year 2022-03-15 13:52:58 +00:00
perlasm perlasm/ppc-xlate.pl: Fix build on OS X 2021-11-18 13:24:42 +01:00
pkcs7 Update copyright year 2021-06-17 13:24:59 +01:00
pkcs12 Update copyright year 2021-06-17 13:24:59 +01:00
poly1305 Use .s extension for ia64 assembler 2022-04-25 14:06:07 +02:00
property Complete the cleanup of an algorithm in OSSL_METHOD_STORE 2022-05-05 15:14:37 +02:00
rand remove legacy VxWorks workaround 2022-05-09 11:14:02 +02:00
rc2 Update copyright year 2021-05-06 13:03:23 +01:00
rc4
rc5
ripemd Drop libimplementations.a 2021-05-07 10:17:23 +02:00
rsa str[n]casecmp => OPENSSL_strncasecmp 2022-04-21 17:12:32 +02:00
seed Update copyright year 2021-06-17 13:24:59 +01:00
sha Update copyright year 2021-07-29 15:41:35 +01:00
siphash Update copyright year 2022-05-03 13:36:42 +01:00
sm2 Add missing check according to SM2 Digital Signature generation algorithm 2021-11-02 12:12:38 +01:00
sm3 Add "origin" field to EVP_CIPHER, EVP_MD 2021-04-18 10:03:07 +02:00
sm4 Update copyright year 2021-04-08 13:04:41 +01:00
srp add zero strenght arguments to BN and RAND RNG calls 2021-05-29 17:17:12 +10:00
stack Improve the implementation of X509_STORE_CTX_get1_issuer() 2021-04-28 11:19:34 +02:00
store Add method store cache flush and method removal to non-EVP operations 2022-05-05 15:14:37 +02:00
ts ts: fix memleaks caused by TS_VERIFY_CTX_set_imprint 2021-08-26 11:06:06 +02:00
txt_db
ui Update copyright year 2022-03-15 13:52:58 +00:00
whrlpool A few cleanups of the provider build.infos 2021-05-12 13:23:33 +02:00
x509 Update copyright year 2022-05-03 13:36:42 +01:00
LPdir_nyi.c
LPdir_unix.c Update copyright year 2022-05-03 13:36:42 +01:00
LPdir_vms.c
LPdir_win.c
LPdir_win32.c
LPdir_wince.c
README-sparse_array.md
alphacpuid.pl
arm64cpuid.pl
arm_arch.h Update copyright year 2021-05-20 14:22:33 +01:00
armcap.c Fix detection of ARMv7 and ARM64 CPU features on FreeBSD 2021-11-24 11:01:27 +01:00
armv4cpuid.pl
asn1_dsa.c Update copyright year 2021-04-08 13:04:41 +01:00
bsearch.c
build.info FIPS: don't include crypto/passphrase.c in libfips.a 2021-06-05 10:32:13 +02:00
c64xpluscpuid.pl
context.c Public API functions OPENSSL_str[n]casecmp 2022-04-21 17:12:31 +02:00
core_algorithm.c Refactor method construction pre- and post-condition 2022-05-05 15:14:37 +02:00
core_fetch.c Refactor method construction pre- and post-condition 2022-05-05 15:14:37 +02:00
core_namemap.c str[n]casecmp => OPENSSL_strncasecmp 2022-04-21 17:12:32 +02:00
cpt_err.c Have OSSL_PARAM_allocate_from_text() raise error on unexpected neg number 2021-11-24 19:21:41 +01:00
cpuid.c Refactor CPUID code 2021-04-02 16:39:13 +02:00
cryptlib.c crypto: remove TODOs 2021-06-02 16:30:15 +10:00
ctype.c Update copyright year 2022-05-03 13:36:42 +01:00
cversion.c
der_writer.c
dllmain.c
ebcdic.c
ex_data.c Add the ability for ex_data to have a priority 2021-05-11 14:56:55 +01:00
getenv.c
ia64cpuid.S
info.c
init.c Update copyright year 2022-05-03 13:36:42 +01:00
initthread.c Avoid a race in init_thread_stop() 2021-11-15 14:22:41 +00:00
mem.c Update copyright year 2022-03-15 13:52:58 +00:00
mem_clr.c
mem_sec.c Update copyright year 2021-04-08 13:04:41 +01:00
mips_arch.h
o_dir.c
o_fopen.c
o_init.c
o_str.c Update copyright year 2022-03-15 13:52:58 +00:00
o_time.c Update copyright year 2021-03-11 13:27:36 +00:00
packet.c Update copyright year 2021-06-17 13:24:59 +01:00
param_build.c Make OSSL_PARAM_BLD_push_BN{,_pad}() return an error on negative numbers 2021-11-23 11:43:07 +01:00
param_build_set.c Update copyright year 2021-03-11 13:27:36 +00:00
params.c params: fix range check when converting double to uint64_t. 2021-06-19 15:47:57 +10:00
params_dup.c Update copyright year 2022-05-03 13:36:42 +01:00
params_from_text.c Allow sign extension in OSSL_PARAM_allocate_from_text() 2021-11-24 19:21:41 +01:00
pariscid.pl
passphrase.c Update copyright year 2022-03-15 13:52:58 +00:00
ppccap.c enable getauxval on android 10 2021-06-25 18:31:05 +10:00
ppccpuid.pl
provider.c Correctly activate the provider in OSSL_PROVIDER_try_load 2021-11-15 14:22:41 +00:00
provider_child.c For child libctx / provider, don't count self-references in parent 2022-05-05 15:14:37 +02:00
provider_conf.c Correctly activate the provider in OSSL_PROVIDER_try_load 2021-11-15 14:22:41 +00:00
provider_core.c Add method store cache flush and method removal to non-EVP operations 2022-05-05 15:14:37 +02:00
provider_local.h make struct provider_info_st a full type 2021-06-24 14:48:15 +01:00
provider_predefined.c make struct provider_info_st a full type 2021-06-24 14:48:15 +01:00
punycode.c
s390x_arch.h Update copyright year 2022-05-03 13:36:42 +01:00
s390xcap.c Update copyright year 2022-05-03 13:36:42 +01:00
s390xcpuid.pl
self_test_core.c Update copyright year 2021-05-20 14:22:33 +01:00
sparccpuid.S
sparcv9cap.c Split bignum code out of the sparcv9cap.c 2021-07-15 09:33:04 +02:00
sparse_array.c Update copyright year 2022-05-03 13:36:42 +01:00
threads_lib.c
threads_none.c Update copyright year 2021-04-08 13:04:41 +01:00
threads_pthread.c Never use `__atomic_*` on macOS 10.7 and 10.8 2022-04-22 15:25:53 +02:00
threads_win.c Explicitly #include <synchapi.h> is unnecessary 2021-09-23 14:13:37 +02:00
trace.c str[n]casecmp => OPENSSL_strncasecmp 2022-04-21 17:12:32 +02:00
uid.c Openssl fails to compile on Debian with kfreebsd kernels 2021-09-02 10:05:51 +10:00
vms_rms.h
x86_64cpuid.pl Update copyright year 2021-04-08 13:04:41 +01:00
x86cpuid.pl