openssl/crypto
Dr. Matthias St. Pierre bc420ebea2 rand_lib.c: Don't open random devices while cleaning up.
Fixes #7022

In pull request #6432 a change was made to keep the handles to the
random devices opened in order to avoid reseeding problems for
applications in chroot environments.

As a consequence, the handles of the random devices were leaked at exit
if the random generator was not used by the application. This happened,
because the call to RAND_set_rand_method(NULL) in rand_cleanup_int()
triggered a call to the call_once function do_rand_init, which opened
the random devices via rand_pool_init().

Thanks to GitHub user @bwelling for reporting this issue.

Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/7023)
2018-08-22 10:53:49 +02:00
..
aes PA-RISC assembly pack: make it work with GNU assembler for HP-UX. 2018-06-25 16:45:48 +02:00
aria
asn1 i2d_ASN1_OBJECT(): allocate memory if the user didn't provide a buffer 2018-08-11 12:27:02 +02:00
async Update copyright year 2018-05-01 13:34:30 +01:00
bf
bio bio/bss_dgram.c: harmonize usage of OPENSSL_USE_IPV6 with the rest. 2018-07-20 13:40:27 +02:00
blake2
bn bn/bn_mod.c: harmonize BN_mod_add_quick with original implementation. 2018-07-26 13:56:05 +02:00
buffer Update copyright year 2018-04-03 13:57:12 +01:00
camellia Remove some inline assembler and non-standard constructs. 2018-06-21 14:01:03 +02:00
cast
chacha chacha/asm/chacha-x86_64.pl: add dedicated path for 128-byte inputs. 2018-07-03 19:02:02 +02:00
cmac Update copyright year 2018-04-17 15:18:40 +02:00
cms Remove __cplusplus preamble from internal headers 2018-06-22 12:24:59 +02:00
comp Fix last(?) batch of malloc-NULL places 2018-04-26 14:02:24 -04:00
conf Deallocate previously loaded SSL CONF module data 2018-08-14 17:43:36 -04:00
ct Add -Wstrict-prototypes option to --strict-warnings 2018-06-21 19:04:19 +02:00
des Update copyright year 2018-04-03 13:57:12 +01:00
dh Update copyright year 2018-06-20 15:29:23 +01:00
dsa Remove DSA digest length checks when no digest is passed 2018-07-29 21:26:29 +02:00
dso openssl#5668: corrections after compiling with -qinfo=all:als. 2018-04-14 13:28:31 +02:00
ec Replace GFp ladder implementation with ladd-2002-it-4 from EFD 2018-08-21 09:51:18 +01:00
engine engine/eng_lib.c: remove redundant #ifdef. 2018-08-07 09:08:46 +02:00
err i2d_ASN1_OBJECT(): allocate memory if the user didn't provide a buffer 2018-08-11 12:27:02 +02:00
evp Harmonize use of sk_TYPE_find's return value. 2018-08-07 08:56:54 +02:00
hmac Remove __cplusplus preamble from internal headers 2018-06-22 12:24:59 +02:00
idea
include/internal x509v3/v3_purp.c: re-implement lock-free check for extensions cache validity. 2018-08-07 09:08:31 +02:00
kdf Update copyright year 2018-04-17 15:18:40 +02:00
lhash lhash/lhash.c: switch to Thread-Sanitizer-friendly primitives. 2018-08-07 09:08:18 +02:00
md2
md4
md5
mdc2
modes modes/ocb128.c: readability and formatting improvements. 2018-07-09 12:37:09 +02:00
objects Change the OID references for X25519, X448, ED25519 and ED448 from the draft RFC 2018-08-10 08:41:00 +10:00
ocsp
pem Zero-fill IV by default. 2018-06-28 18:13:54 -04:00
perlasm perlasm/x86_64-xlate.pl: refine symbol recognition in .xdata. 2018-07-03 19:01:20 +02:00
pkcs7
pkcs12 PKCS12: change safeContentsBag from a SET OF to a SEQUENCE OF 2018-07-22 11:01:36 +02:00
poly1305 poly1305/asm/poly1305-x86_64.pl: fix solaris64-x86_64-cc build. 2018-07-10 12:01:56 +02:00
rand rand_lib.c: Don't open random devices while cleaning up. 2018-08-22 10:53:49 +02:00
rc2
rc4 PA-RISC assembly pack: make it work with GNU assembler for HP-UX. 2018-06-25 16:45:48 +02:00
rc5
ripemd
rsa Check return from BN_sub 2018-07-31 13:30:29 +10:00
seed Remove __cplusplus preamble from internal headers 2018-06-22 12:24:59 +02:00
sha Remove development artifacts. 2018-07-02 07:21:26 +10:00
siphash Add support getting raw private/public keys 2018-06-08 10:04:09 +01:00
sm2 Use the new non-curve type specific EC functions internally 2018-07-31 09:08:38 +01:00
sm3
sm4
srp Make ck_errf.pl ignore commented out error generation 2018-06-12 12:31:45 +02:00
stack Revert "stack/stack.c: omit redundant NULL checks." 2018-08-09 14:37:10 +01:00
store crypto/*: address standard-compilance nits. 2018-07-20 13:40:30 +02:00
ts Check conversion return in ASN1_INTEGER_print_bio. 2018-07-31 11:37:05 +10:00
txt_db Update copyright year 2018-04-03 13:57:12 +01:00
ui crypto/*: address standard-compilance nits. 2018-07-20 13:40:30 +02:00
whrlpool
x509 Avoid shadowing 'free' in X509_LOOKUP_met_set_free 2018-08-17 13:57:23 -05:00
x509v3 x509v3/v3_purp.c: re-implement lock-free check for extensions cache validity. 2018-08-07 09:08:31 +02:00
alphacpuid.pl
arm64cpuid.pl {arm64|x86_64}cpuid.pl: add special 16-byte case to OPENSSL_memcmp. 2018-06-03 21:15:18 +02:00
arm_arch.h Fix building linux-armv4 with --strict-warnings 2018-04-20 15:49:33 +02:00
armcap.c
armv4cpuid.pl Update copyright year 2018-05-01 13:34:30 +01:00
build.info Remove import/use of File::Spec::Function 2018-04-01 22:41:04 +02:00
c64xpluscpuid.pl
cpt_err.c Fix last(?) batch of malloc-NULL places 2018-04-26 14:02:24 -04:00
cryptlib.c crypto/dllmain.c: remove unused OPENSSL_NONPIC_relocated variable. 2018-07-25 16:37:31 +02:00
ctype.c
cversion.c
dllmain.c crypto/dllmain.c: remove unused OPENSSL_NONPIC_relocated variable. 2018-07-25 16:37:31 +02:00
ebcdic.c
ex_data.c Ensure the thread keys are always allocated in the same order 2018-04-20 15:45:06 +02:00
ia64cpuid.S
init.c crypto/init.c: use destructor_key even as guard in OPENSSL_thread_stop. 2018-07-25 16:37:35 +02:00
LPdir_nyi.c
LPdir_unix.c
LPdir_vms.c
LPdir_win32.c
LPdir_win.c
LPdir_wince.c
mem_clr.c
mem_dbg.c
mem_sec.c Zero memory in CRYPTO_secure_malloc. 2018-08-22 09:20:18 +10:00
mem.c crypto/mem.c: switch to tsan_assist.h in CRYPTO_MDEBUG. 2018-08-07 09:08:50 +02:00
mips_arch.h
o_dir.c
o_fips.c
o_fopen.c crypto/o_fopen.c: alias fopen to fopen64. 2018-08-13 20:33:20 +01:00
o_init.c
o_str.c
o_time.c Update copyright year 2018-04-03 13:57:12 +01:00
pariscid.pl PA-RISC assembly pack: make it work with GNU assembler for HP-UX. 2018-06-25 16:45:48 +02:00
ppc_arch.h
ppccap.c crypto/ppccap.c: wire new ChaCha20_ctr32_vsx. 2018-06-06 22:14:15 +02:00
ppccpuid.pl
s390x_arch.h s390x assembly pack: add KIMD/KLMD code path for sha3/shake 2018-08-06 12:04:52 +02:00
s390xcap.c
s390xcpuid.pl s390x assembly pack: add KIMD/KLMD code path for sha3/shake 2018-08-06 12:04:52 +02:00
sparc_arch.h
sparccpuid.S
sparcv9cap.c
threads_none.c crypto/threads_*: remove CRYPTO_atomic_{read|write}. 2018-08-17 12:40:39 +02:00
threads_pthread.c crypto/threads_*: remove CRYPTO_atomic_{read|write}. 2018-08-17 12:40:39 +02:00
threads_win.c crypto/threads_*: remove CRYPTO_atomic_{read|write}. 2018-08-17 12:40:39 +02:00
uid.c Check getauxval on systems that have it when checking for setuid execution. 2018-08-20 11:12:26 +10:00
vms_rms.h
x86_64cpuid.pl {arm64|x86_64}cpuid.pl: add special 16-byte case to OPENSSL_memcmp. 2018-06-03 21:15:18 +02:00
x86cpuid.pl