openssl/crypto
Matt Caswell 92b20fb8f7 Change the semantics of OSSL_LIB_CTX_set0_default() NULL handling
Change things so that passing NULL to OSSL_LIB_CTX_set0_default() means
keep the current library context unchanged.

This has the advantage of simplifying error handling, e.g. you can call
OSSL_LIB_CTX_set0_default in an error/finalisation block safe in the
knowledge the if the "prevctx" was never set then it will be a no-op (like
calling a "free" function with NULL).

Fixes #14593

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14890)
2021-04-19 10:50:29 +01:00
..
aes remove unused initialisations 2020-12-03 11:22:06 +10:00
aria Update copyright year 2021-04-08 13:04:41 +01:00
asn1 Add "origin" field to EVP_CIPHER, EVP_MD 2021-04-18 10:03:07 +02:00
async Update copyright year 2021-04-08 13:04:41 +01:00
bf
bio Link with uplink module 2021-04-19 11:05:55 +02:00
bn crypto: raise error on malloc failure 2021-04-14 09:31:49 +10:00
buffer Update copyright year 2020-11-26 14:18:57 +00:00
camellia
cast
chacha Fix aarch64 static linking into shared libraries (see issue #10842 and pull request #11464) 2020-10-22 12:16:49 +10:00
cmac Add "origin" field to EVP_CIPHER, EVP_MD 2021-04-18 10:03:07 +02:00
cmp OSSL_CMP_CTX_new(): Fix distinction of out-of-memory and other errors 2021-04-17 11:39:12 +02:00
cms Modify OBJ_nid2sn(OBJ_obj2nid(...)) occurences to use OBJ_obj2txt() 2021-04-18 10:10:24 +02:00
comp Update copyright year 2021-04-08 13:04:41 +01:00
conf Resurrect and modernize C++Builder config 2021-04-19 11:05:54 +02:00
crmf Modify OBJ_nid2sn(OBJ_obj2nid(...)) occurences to use OBJ_obj2txt() 2021-04-18 10:10:24 +02:00
ct Update copyright year 2021-04-08 13:04:41 +01:00
des Update copyright year 2021-01-28 13:54:57 +01:00
dh Detect low-level engine and app method based keys 2021-04-19 11:36:16 +02:00
dsa Detect low-level engine and app method based keys 2021-04-19 11:36:16 +02:00
dso Update copyright year 2020-11-26 14:18:57 +00:00
ec Detect low-level engine and app method based keys 2021-04-19 11:36:16 +02:00
encode_decode Rename EVP_PKEY_get0_first_alg_name to EVP_PKEY_get0_type_name 2021-04-15 17:38:19 +02:00
engine Update copyright year 2021-04-08 13:04:41 +01:00
err Add domain parameter match check for DH and ECDH key exchange. 2021-04-14 16:01:13 +10:00
ess Add more negative checks for integers passed to OPENSSL_malloc(). 2021-04-16 12:10:08 +10:00
evp Remove a TODO(3.0) from keymgmt_lib.c 2021-04-19 10:45:20 +01:00
ffc Update copyright year 2021-04-08 13:04:41 +01:00
hmac Delete unused PKEY MAC files 2020-08-29 17:40:11 +10:00
http OSSL_HTTP_REQ_CTX_transfer(): improve distinction of send error vs. receive error 2021-03-31 19:53:05 +02:00
idea Update copyright year 2021-04-08 13:04:41 +01:00
kdf
lhash Update copyright year 2021-04-08 13:04:41 +01:00
md2
md4
md5 Update copyright year 2020-11-26 14:18:57 +00:00
mdc2
modes Update copyright year 2021-04-08 13:04:41 +01:00
objects Update copyright year 2021-04-08 13:04:41 +01:00
ocsp Add some additional NULL checks to prevent segfaults. 2021-04-14 16:05:00 +10:00
pem PEM_X509_INFO_read_bio_ex(): Generalize to allow parsing any type of private key 2021-04-08 15:18:58 +02:00
perlasm
pkcs7 Modify OBJ_nid2sn(OBJ_obj2nid(...)) occurences to use OBJ_obj2txt() 2021-04-18 10:10:24 +02:00
pkcs12 Add "origin" field to EVP_CIPHER, EVP_MD 2021-04-18 10:03:07 +02:00
poly1305 Update copyright year 2021-04-08 13:04:41 +01:00
property Update copyright year 2021-04-08 13:04:41 +01:00
rand Update copyright year 2021-04-08 13:04:41 +01:00
rc2
rc4 rename md5_block_asm_data_order to ossl_md5_block_asm_data_order 2020-11-19 07:38:58 +10:00
rc5
ripemd Diverse build.info: Adjust paths 2020-09-10 09:50:56 +02:00
rsa Detect low-level engine and app method based keys 2021-04-19 11:36:16 +02:00
seed
sha Update copyright year 2020-11-26 14:18:57 +00:00
siphash Fix a TODO(3.0) in the siphash code 2021-03-17 10:16:21 +10:00
sm2 Fix up issues found when running evp_extra_test with a non-default library context 2021-03-17 17:51:16 +10: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 ossl_bn_group symbols 2021-03-18 17:52:37 +10:00
stack Update copyright year 2021-02-18 15:05:17 +00:00
store Replace OSSL_PARAM_BLD_free_params() with OSSL_PARAM_free(). 2021-04-12 16:55:30 +10:00
ts Modify OBJ_nid2sn(OBJ_obj2nid(...)) occurences to use OBJ_obj2txt() 2021-04-18 10:10:24 +02:00
txt_db
ui Update copyright year 2021-04-08 13:04:41 +01:00
whrlpool Update copyright year 2021-03-11 13:27:36 +00:00
x509 Add more negative checks for integers passed to OPENSSL_malloc(). 2021-04-16 12:10:08 +10:00
alphacpuid.pl
arm64cpuid.pl Read MIDR_EL1 system register on aarch64 2020-12-09 16:17:17 +01:00
arm_arch.h Read MIDR_EL1 system register on aarch64 2020-12-09 16:17:17 +01:00
armcap.c Update copyright year 2021-01-28 13:54:57 +01:00
armv4cpuid.pl
asn1_dsa.c Update copyright year 2021-04-08 13:04:41 +01:00
bsearch.c
build.info Support DLL builds + Fix C RTL variants 2021-04-19 11:05:54 +02:00
c64xpluscpuid.pl
context.c Change the semantics of OSSL_LIB_CTX_set0_default() NULL handling 2021-04-19 10:50:29 +01:00
core_algorithm.c rename ossl_provider_forall_loaded to ossl_provider_doall_activated 2021-03-12 09:14:00 +10:00
core_fetch.c Update copyright year 2021-01-28 13:54:57 +01:00
core_namemap.c CORE: pre-populate the namemap with legacy OIDs too 2021-04-18 10:10:24 +02:00
cpt_err.c openssl_hexstr2buf_sep(): Prevent misleading 'malloc failure' errors on short input 2020-12-10 15:19:55 +01:00
cpuid.c Refactor CPUID code 2021-04-02 16:39:13 +02:00
cryptlib.c Refactor CPUID code 2021-04-02 16:39:13 +02:00
ctype.c Update copyright year 2021-04-08 13:04:41 +01:00
cversion.c
der_writer.c der: _ossl prefix DER functions 2020-10-01 11:25:12 +10:00
dllmain.c
ebcdic.c
ex_data.c Fix external symbols for crypto_* 2021-03-18 17:35:10 +10:00
getenv.c Update copyright year 2020-10-15 14:10:06 +01:00
ia64cpuid.S
info.c
init.c Resurrect and modernize C++Builder config 2021-04-19 11:05:54 +02:00
initthread.c Convert a TODO(3.0) in OPENSSL_thread_stop_ex to a comment 2021-03-14 15:40:25 +10:00
LPdir_nyi.c
LPdir_unix.c
LPdir_vms.c
LPdir_win32.c
LPdir_win.c
LPdir_wince.c
mem_clr.c
mem_sec.c Update copyright year 2021-04-08 13:04:41 +01:00
mem.c
mips_arch.h
o_dir.c
o_fopen.c Update copyright year 2020-11-26 14:18:57 +00:00
o_init.c
o_str.c Update copyright year 2021-04-08 13:04:41 +01:00
o_time.c Update copyright year 2021-03-11 13:27:36 +00:00
packet.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
param_build_set.c Update copyright year 2021-03-11 13:27:36 +00:00
param_build.c Replace OSSL_PARAM_BLD_free_params() with OSSL_PARAM_free(). 2021-04-12 16:55:30 +10:00
params_dup.c Add OSSL_PARAM_dup() and OSSL_PARAM_merge(). 2021-04-12 16:55:29 +10:00
params_from_text.c params: fix coverity 1473069: unchecked return values 2021-03-26 08:46:02 +10:00
params.c Add OSSL_PARAM_dup() and OSSL_PARAM_merge(). 2021-04-12 16:55:29 +10:00
pariscid.pl
passphrase.c CORE: Fix small bug in passphrase caching 2020-09-03 17:48:32 +02:00
ppc_arch.h
ppccap.c crypto/ppccap.c: Remove useless TODO 3.0 2021-03-04 14:15:01 +01:00
ppccpuid.pl
provider_conf.c Update copyright year 2021-03-11 13:27:36 +00:00
provider_core.c property: check return values from the property locking calls. 2021-04-08 17:46:35 +10:00
provider_local.h Update copyright year 2021-04-08 13:04:41 +01:00
provider_predefined.c Update copyright year 2021-04-08 13:04:41 +01:00
provider.c rename ossl_provider_forall_loaded to ossl_provider_doall_activated 2021-03-12 09:14:00 +10:00
punycode.c Update copyright year 2020-10-15 14:10:06 +01:00
README-sparse_array.md
s390x_arch.h
s390xcap.c
s390xcpuid.pl
self_test_core.c Rename OPENSSL_CTX prefix to OSSL_LIB_CTX 2020-10-15 11:59:53 +01:00
sparc_arch.h
sparccpuid.S
sparcv9cap.c
sparse_array.c Update copyright year 2021-04-08 13:04:41 +01:00
threads_lib.c Fix no-threads 2020-12-14 10:45:27 +10:00
threads_none.c Update copyright year 2021-04-08 13:04:41 +01:00
threads_pthread.c Always check CRYPTO_LOCK_{read,write}_lock 2021-03-14 15:33:34 +10:00
threads_win.c Always check CRYPTO_LOCK_{read,write}_lock 2021-03-14 15:33:34 +10:00
trace.c Update copyright year 2021-04-08 13:04:41 +01:00
uid.c
vms_rms.h
x86_64cpuid.pl Update copyright year 2021-04-08 13:04:41 +01:00
x86cpuid.pl