mbedtls/library
Gilles Peskine a9857af16a Fix mutex leak in HMAC_DRBG
mbedtls_hmac_drbg_free() left a mutex in the initialized state. This
caused a resource leak on platforms where mbedtls_mutex_init()
allocates resources.

To fix this, mbedtls_hmac_drbg_free() no longer reinitializes the
mutex. To preserve the property that mbedtls_hmac_drbg_free() leaves
the object in an initialized state, which is generally true throughout
the library except regarding mutex objects on some platforms, no
longer initialize the mutex in mbedtls_hmac_drbg_init(). Since the
mutex is only used after seeding, and seeding is only permitted once,
call mbedtls_mutex_init() as part of the seeding process.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
2021-02-12 15:57:03 +01:00
..
.gitignore
aes.c Put local variables in a struct 2020-10-22 10:34:20 +02:00
aesni.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
arc4.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
asn1parse.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
asn1write.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
base64.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
bignum.c Merge branch 'mbedtls-2.7-restricted' into mbedtls-2.7.18r0-pr 2020-12-08 21:00:50 +00:00
blowfish.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
camellia.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
ccm.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
certs.c Update the copy of tests/data_files/server2-sha256.crt in certs.c 2020-08-24 15:15:00 +02:00
cipher_wrap.c Do not set IV size for ECB mode ciphers 2020-11-06 15:40:25 +01:00
cipher.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
cmac.c Fix mismatched function parameters (prototype/definition) 2020-11-29 08:09:58 -03:00
CMakeLists.txt Bump version to Mbed TLS 2.7.18 2020-12-09 01:22:11 +00:00
ctr_drbg.c Document mutex invariant for CTR_DRBG 2021-02-12 15:57:03 +01:00
debug.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
des.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
dhm.c Merge branch 'mbedtls-2.7' into mbedtls-2.7-restricted 2020-08-25 10:59:51 +02:00
ecdh.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
ecdsa.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
ecjpake.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
ecp_curves.c Fix uncaught error if fix_negative fails 2020-09-30 00:22:37 +02:00
ecp.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
entropy_poll.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
entropy.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
error.c Simplify conditional guards in error.c 2020-11-16 16:09:41 +01:00
gcm.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
havege.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
hmac_drbg.c Fix mutex leak in HMAC_DRBG 2021-02-12 15:57:03 +01:00
Makefile Fix #2370, minor typos and spelling mistakes 2019-02-18 15:57:54 +00:00
md2.c Zeroize internal buffers and variables in MD hashes 2020-09-09 14:58:28 +02:00
md4.c Put local variables and buffers in a struct 2020-09-09 15:05:00 +02:00
md5.c Put local variables and buffers in a struct 2020-09-09 15:05:00 +02:00
md_wrap.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
md.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
memory_buffer_alloc.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
net_sockets.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
oid.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
padlock.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
pem.c Add tests for buffer corruption after PEM write 2020-12-07 16:49:30 +00:00
pk_wrap.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
pk.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
pkcs5.c Force cleanup before return 2020-09-09 14:51:03 +02:00
pkcs11.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
pkcs12.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
pkparse.c fix return code 2020-09-22 16:19:25 +02:00
pkwrite.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
platform.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
ripemd160.c Put local variables and buffers in a struct 2020-09-09 15:05:00 +02:00
rsa_internal.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
rsa.c Restore retry in rsa_prepare_blinding() 2020-09-30 07:39:15 -05:00
sha1.c Put local variables and buffers in a struct 2020-09-09 15:05:00 +02:00
sha256.c Put local variables and buffers in a struct 2020-09-09 15:05:00 +02:00
sha512.c Put local variables and buffers in a struct 2020-09-09 15:05:00 +02:00
ssl_cache.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
ssl_ciphersuites.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
ssl_cli.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
ssl_cookie.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
ssl_srv.c Backport 2.7: Fix use of uinitialized memory in ssl_parse_encrypted_pms 2020-11-18 14:27:02 +01:00
ssl_ticket.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
ssl_tls.c Move declaration to fix C90 warning 2020-11-29 14:45:10 -03:00
threading.c Explain the usage of is_valid in pthread mutexes 2021-02-12 15:57:03 +01:00
timing.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
version_features.c Declare MBEDTLS_TEST_HOOKS in config.h 2021-01-29 19:08:23 +01:00
version.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
x509_create.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
x509_crl.c Merge branch 'mbedtls-2.7' into mbedtls-2.7-restricted 2020-08-25 10:59:51 +02:00
x509_crt.c Merge branch 'mbedtls-2.7-restricted' into mbedtls-2.7.18r0-pr 2020-12-08 21:00:50 +00:00
x509_csr.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
x509.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
x509write_crt.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
x509write_csr.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00
xtea.c Update copyright notices to use Linux Foundation guidance 2020-08-19 16:54:51 +02:00