diff options
author | jsing <> | 2016-11-03 08:15:22 +0000 |
---|---|---|
committer | jsing <> | 2016-11-03 08:15:22 +0000 |
commit | 50b7212fcee61e7faddcb7b876b8c1b4fc534000 (patch) | |
tree | 2c9e9177516e955488acfb0b61a4dbeb7b177ab5 /src/lib/libcrypto/doc/OpenSSL_add_all_algorithms.pod | |
parent | 7e3a684205fd61b913e552c0b8b532d6b39aea7d (diff) | |
download | openbsd-50b7212fcee61e7faddcb7b876b8c1b4fc534000.tar.gz openbsd-50b7212fcee61e7faddcb7b876b8c1b4fc534000.tar.bz2 openbsd-50b7212fcee61e7faddcb7b876b8c1b4fc534000.zip |
Clean up the TLS handshake digest handling - this refactors some of the
code for improved readability, however it also address two issues.
The first of these is a hard-to-hit double free that will occur if
EVP_DigestInit_ex() fails. To avoid this and to be more robust, ensure
that tls1_digest_cached_records() either completes successfully and sets
up all of the necessary digests, or it cleans up and frees everything
that was allocated.
The second issue is that EVP_DigestUpdate() can fail - detect and handle
this in tls1_finish_mac() and change the return type to an int so that a
failure can be propagated to the caller (the callers still need to be
fixed to handle this, in a later diff).
The double-free was reported by Matthew Dillon.
ok beck@ doug@ miod@
Diffstat (limited to 'src/lib/libcrypto/doc/OpenSSL_add_all_algorithms.pod')
0 files changed, 0 insertions, 0 deletions