openssl/ssl
Todd Short 1ee2125922 Fix ex_data and session_dup issues
Code was added in commit b3c31a65 that overwrote the last ex_data value
using CRYPTO_dup_ex_data() causing a memory leak, and potentially
confusing the ex_data dup() callback.

In ssl_session_dup(), fix error handling (properly reference and up-ref
shared data) and new-up the ex_data before calling CRYPTO_dup_ex_data();
all other structures that dup ex_data have the destination ex_data new'd
before the dup.

Fix up some of the ex_data documentation.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3323)
2017-06-02 12:11:38 -04:00
..
record Fix inconsistent check of UNSAFE_LEGACY_RENEGOTIATION 2017-05-26 11:29:18 +02:00
statem Don't use one shot API for SSLv3. 2017-05-23 15:51:24 +01:00
bio_ssl.c Get pointer type right in BIO_ssl_shutdown() 2017-03-07 09:56:49 -05:00
build.info Move ssl/t1_ext.c to ssl/statem/extensions_cust.c 2017-04-07 13:41:04 +01:00
d1_lib.c Convert existing usage of assert() to ossl_assert() in libssl 2017-05-22 14:00:43 +01:00
d1_msg.c Remove special case code for SCTP reneg handling 2017-04-25 11:13:39 +01:00
d1_srtp.c Move client parsing of ServerHello extensions into new framework 2016-12-08 17:18:25 +00:00
methods.c Add the SSL_METHOD for TLSv1.3 and all other base changes required 2016-11-02 13:08:21 +00:00
packet.c Convert existing usage of assert() to ossl_assert() in libssl 2017-05-22 14:00:43 +01:00
packet_locl.h TLS1.3 Padding 2017-05-02 09:44:43 +01:00
pqueue.c Fix a missed size_t variable declaration 2016-11-04 12:09:46 +00:00
s3_cbc.c Convert existing usage of assert() to ossl_assert() in libssl 2017-05-22 14:00:43 +01:00
s3_enc.c Replace instances of OPENSSL_assert() with soft asserts in libssl 2017-05-22 14:00:19 +01:00
s3_lib.c Convert existing usage of assert() to ossl_assert() in libssl 2017-05-22 14:00:43 +01:00
s3_msg.c Provide functions to write early data 2017-03-02 17:44:14 +00:00
ssl_asn1.c ASN.1: adapt our use of INTxx et al by making them explicitely embedded 2017-04-13 10:23:31 +02:00
ssl_cert.c Ignore dups in X509_STORE_add_* 2017-04-20 15:33:42 -04:00
ssl_ciph.c Replace instances of OPENSSL_assert() with soft asserts in libssl 2017-05-22 14:00:19 +01:00
ssl_conf.c TLS1.3 Padding 2017-05-02 09:44:43 +01:00
ssl_err.c Add an error to the stack on failure in dtls1_write_bytes() 2017-05-22 14:00:52 +01:00
ssl_init.c Convert existing usage of assert() to ossl_assert() in libssl 2017-05-22 14:00:43 +01:00
ssl_lib.c Convert existing usage of assert() to ossl_assert() in libssl 2017-05-22 14:00:43 +01:00
ssl_locl.h Convert existing usage of assert() to ossl_assert() in libssl 2017-05-22 14:00:43 +01:00
ssl_mcnf.c Fix misc size_t issues causing Windows warnings in 64 bit 2016-11-04 12:09:46 +00:00
ssl_rsa.c Try to be more consistent about the alerts we send 2017-05-19 08:47:08 +01:00
ssl_sess.c Fix ex_data and session_dup issues 2017-06-02 12:11:38 -04:00
ssl_stat.c Add missing debug strings. 2016-09-07 16:08:38 -04:00
ssl_txt.c Move extension data into sub-structs 2017-01-09 22:26:47 -05:00
ssl_utst.c Remove heartbeat support 2016-11-13 16:24:02 -05:00
t1_enc.c Remove support for OPENSSL_SSL_TRACE_CRYPTO 2017-05-08 11:42:37 +01:00
t1_lib.c Convert existing usage of assert() to ossl_assert() in libssl 2017-05-22 14:00:43 +01:00
t1_trce.c Add support to SSL_trace() for inner content types 2017-05-08 11:42:37 +01:00
tls13_enc.c Remove support for OPENSSL_SSL_TRACE_CRYPTO 2017-05-08 11:42:37 +01:00
tls_srp.c Indent ssl/ 2016-08-18 14:02:29 +02:00