mbedtls/library
Janos Follath d6dce9f4f3 Fix zero-length seed or label in TLS 1.2 PRF
The psa_tls12_prf_set_seed() and psa_tls12_prf_set_label() functions did
not work on platforms where malloc(0) returns NULL.

It does not affect the TLS use case but these PRFs are used in other
protocols as well and might not be used the same way. For example EAP
uses the TLS PRF with an empty secret. (This would not trigger the bug,
but is a strong indication that it is not safe to assume that certain
inputs to this function are not zero length.)

The conditional block includes the memcpy() call as well to avoid
passing a NULL pointer as a parameter resulting in undefined behaviour.

The current tests are already using zero length label and seed, there is
no need to add new test for this bug.
2019-07-04 09:11:38 +01:00
..
.gitignore
aes.c Add further missing brackets around macro parameters 2019-02-19 17:59:57 +00:00
aesni.c
arc4.c
aria.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
asn1parse.c
asn1write.c Add new function mbedtls_asn1_write_named_bitstring() 2019-02-28 09:36:30 +00:00
base64.c
bignum.c Merge remote-tracking branch 'origin/pr/2405' into development 2019-04-05 14:08:49 +01:00
blowfish.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
camellia.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
ccm.c Merge remote-tracking branch 'origin/pr/2092' into development 2019-04-24 11:17:21 +01:00
chacha20.c Improve macro hygiene 2019-02-19 17:59:00 +00:00
chachapoly.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
cipher.c Convert cipher and pk to PSA attribute-based key creation 2019-06-05 11:34:54 +02:00
cipher_wrap.c Wrap lines at 80 columns 2019-04-02 10:07:28 -07:00
cmac.c
CMakeLists.txt Merge pull request #71 from Patater/remove-non-crypto 2019-04-30 11:10:51 +01:00
ctr_drbg.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
des.c Improve macro hygiene 2019-02-19 17:59:00 +00:00
dhm.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
ecdh.c Fix ECDH secret export for Mongomery curves 2019-02-26 16:49:52 +00:00
ecdsa.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
ecjpake.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
ecp.c Merge remote-tracking branch 'tls/development' into development 2019-05-01 14:12:43 +01:00
ecp_curves.c Improve macro hygiene 2019-02-19 17:59:00 +00:00
entropy.c
entropy_poll.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
error.c Regenerate errors.c 2019-04-30 16:47:36 +01:00
gcm.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
havege.c Improve macro hygiene 2019-02-19 17:59:00 +00:00
hkdf.c
hmac_drbg.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
Makefile Makefile: Use full paths to refer to parent files 2019-05-22 13:54:52 +01:00
md.c md: Remove dependency on X.509 2019-03-11 16:46:20 +00:00
md2.c
md4.c Add more missing parentheses around macro parameters 2019-02-19 17:59:57 +00:00
md5.c Add further missing brackets around macro parameters 2019-02-19 17:59:57 +00:00
md_wrap.c
memory_buffer_alloc.c
nist_kw.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
oid.c Add support for RSA PKCSv1.5 signatures using RIPEMD-160 2019-05-06 12:15:17 -04:00
padlock.c
pem.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
pk.c Convert cipher and pk to PSA attribute-based key creation 2019-06-05 11:34:54 +02:00
pk_wrap.c Convert cipher and pk to PSA attribute-based key creation 2019-06-05 11:34:54 +02:00
pkcs5.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
pkcs12.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
pkparse.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
pkwrite.c Convert cipher and pk to PSA attribute-based key creation 2019-06-05 11:34:54 +02:00
platform.c Merge remote-tracking branch 'origin/pr/1551' into development 2019-01-30 13:24:55 +00:00
platform_util.c Merge development commit 8e76332 into development-psa 2019-01-31 08:20:20 -05:00
poly1305.c Improve macro hygiene 2019-02-19 17:59:00 +00:00
psa_crypto.c Fix zero-length seed or label in TLS 1.2 PRF 2019-07-04 09:11:38 +01:00
psa_crypto_core.h Rename PSA_ERROR_TAMPERING_DETECTED to ..._CORRUPTION_DETECTED 2019-05-16 21:35:18 +02:00
psa_crypto_invasive.h Add a facility to configure entropy sources 2018-11-23 22:58:38 +01:00
psa_crypto_its.h Fix up ITS header files for internal use in crypto 2019-03-15 11:13:33 +01:00
psa_crypto_service_integration.h Add common header for crypto service integration 2019-02-19 15:09:14 +02:00
psa_crypto_slot_management.c New function to get key slot statistics 2019-06-05 16:38:42 +02:00
psa_crypto_slot_management.h Improve documentation of psa_internal_allocate_key_slot 2019-06-05 11:39:57 +02:00
psa_crypto_storage.c Enrollment algorithm in policy: implement persistent keys 2019-05-27 14:08:28 +02:00
psa_crypto_storage.h Implement and test the new key identifier range 2019-05-06 18:56:30 +02:00
psa_its_file.c Document rename_replace_existing macro 2019-04-11 14:21:14 +01:00
ripemd160.c Improve macro hygiene 2019-02-19 17:59:00 +00:00
rsa.c rsa: Enable use of zero-length null output 2019-02-11 03:39:51 -05:00
rsa_internal.c
sha1.c Add further missing brackets around macro parameters 2019-02-19 17:59:57 +00:00
sha256.c Add further missing brackets around macro parameters 2019-02-19 17:59:57 +00:00
sha512.c Add more missing parentheses around macro parameters 2019-02-19 17:59:57 +00:00
threading.c
timing.c Merge remote-tracking branch 'public/pr/1777' into development-proposed 2018-11-04 18:51:36 +00:00
version.c
version_features.c config: Remove X.509 options 2019-04-25 11:46:21 +01:00
xtea.c