summaryrefslogtreecommitdiff
path: root/src/lib/libssl/ssl_srvr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/ssl_srvr.c')
-rw-r--r--src/lib/libssl/ssl_srvr.c22
1 files changed, 5 insertions, 17 deletions
diff --git a/src/lib/libssl/ssl_srvr.c b/src/lib/libssl/ssl_srvr.c
index 6e74943803..7f7a176950 100644
--- a/src/lib/libssl/ssl_srvr.c
+++ b/src/lib/libssl/ssl_srvr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_srvr.c,v 1.133 2022/01/08 12:43:44 jsing Exp $ */ 1/* $OpenBSD: ssl_srvr.c,v 1.134 2022/01/08 12:59:59 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -2235,29 +2235,17 @@ ssl3_get_client_certificate(SSL *s)
2235 2235
2236 X509_free(s->session->peer); 2236 X509_free(s->session->peer);
2237 s->session->peer = sk_X509_shift(sk); 2237 s->session->peer = sk_X509_shift(sk);
2238 s->session->verify_result = s->verify_result;
2239
2240 /*
2241 * With the current implementation, sess_cert will always be NULL
2242 * when we arrive here
2243 */
2244 if (s->session->sess_cert == NULL) {
2245 s->session->sess_cert = ssl_sess_cert_new();
2246 if (s->session->sess_cert == NULL) {
2247 SSLerror(s, ERR_R_MALLOC_FAILURE);
2248 goto err;
2249 }
2250 }
2251 sk_X509_pop_free(s->session->sess_cert->cert_chain, X509_free);
2252 s->session->sess_cert->cert_chain = sk;
2253 2238
2254 /* 2239 /*
2255 * Inconsistency alert: cert_chain does *not* include the 2240 * Inconsistency alert: cert_chain does *not* include the
2256 * peer's own certificate, while we do include it in s3_clnt.c 2241 * peer's own certificate, while we do include it in s3_clnt.c
2257 */ 2242 */
2258 2243 sk_X509_pop_free(s->session->cert_chain, X509_free);
2244 s->session->cert_chain = sk;
2259 sk = NULL; 2245 sk = NULL;
2260 2246
2247 s->session->verify_result = s->verify_result;
2248
2261 ret = 1; 2249 ret = 1;
2262 if (0) { 2250 if (0) {
2263 decode_err: 2251 decode_err: