diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2015-06-30 13:58:25 +0100 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2015-06-30 14:00:43 +0100 |
commit | 36f038f1041f9f31878f75b567959ceae08eb34e (patch) | |
tree | f0509c3de499be8f91613d09ee9024f84b92af95 /ssl/ssl_sess.c | |
parent | 5fced2395ddfb603a50fd1bd87411e603a59dc6f (diff) |
Dup peer_chain properly in SSL_SESSION
Reviewed-by: Matt Caswell <matt@openssl.org>
Diffstat (limited to 'ssl/ssl_sess.c')
-rw-r--r-- | ssl/ssl_sess.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c index 03c6ac087d..9063bca415 100644 --- a/ssl/ssl_sess.c +++ b/ssl/ssl_sess.c @@ -268,6 +268,12 @@ SSL_SESSION *ssl_session_dup(SSL_SESSION *src, int ticket) if (src->peer != NULL) CRYPTO_add(&src->peer->references, 1, CRYPTO_LOCK_X509); + if (src->peer_chain != NULL) { + dest->peer_chain = X509_chain_up_ref(src->peer_chain); + if (dest->peer_chain == NULL) + goto err; + } + #ifndef OPENSSL_NO_PSK if (src->psk_identity_hint) { dest->psk_identity_hint = BUF_strdup(src->psk_identity_hint); |