diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libssl/ssl_asn1.c | 7 | ||||
| -rw-r--r-- | src/lib/libssl/ssl_clnt.c | 7 | ||||
| -rw-r--r-- | src/lib/libssl/ssl_sess.c | 6 |
3 files changed, 7 insertions, 13 deletions
diff --git a/src/lib/libssl/ssl_asn1.c b/src/lib/libssl/ssl_asn1.c index 86e0663584..d5138115e5 100644 --- a/src/lib/libssl/ssl_asn1.c +++ b/src/lib/libssl/ssl_asn1.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ssl_asn1.c,v 1.63 2022/06/07 17:20:26 tb Exp $ */ | 1 | /* $OpenBSD: ssl_asn1.c,v 1.64 2022/06/07 17:45:13 tb Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2016 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2016 Joel Sing <jsing@openbsd.org> |
| 4 | * | 4 | * |
| @@ -295,11 +295,8 @@ d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, long length) | |||
| 295 | if (!CBS_get_asn1(&session, &session_id, CBS_ASN1_OCTETSTRING)) | 295 | if (!CBS_get_asn1(&session, &session_id, CBS_ASN1_OCTETSTRING)) |
| 296 | goto err; | 296 | goto err; |
| 297 | if (!CBS_write_bytes(&session_id, s->session_id, sizeof(s->session_id), | 297 | if (!CBS_write_bytes(&session_id, s->session_id, sizeof(s->session_id), |
| 298 | &data_len)) | 298 | &s->session_id_length)) |
| 299 | goto err; | 299 | goto err; |
| 300 | if (data_len > UINT_MAX) | ||
| 301 | goto err; | ||
| 302 | s->session_id_length = (unsigned int)data_len; | ||
| 303 | 300 | ||
| 304 | /* Master key. */ | 301 | /* Master key. */ |
| 305 | if (!CBS_get_asn1(&session, &master_key, CBS_ASN1_OCTETSTRING)) | 302 | if (!CBS_get_asn1(&session, &master_key, CBS_ASN1_OCTETSTRING)) |
diff --git a/src/lib/libssl/ssl_clnt.c b/src/lib/libssl/ssl_clnt.c index f8a80eea2e..c509771cc3 100644 --- a/src/lib/libssl/ssl_clnt.c +++ b/src/lib/libssl/ssl_clnt.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ssl_clnt.c,v 1.145 2022/06/07 17:39:16 tb Exp $ */ | 1 | /* $OpenBSD: ssl_clnt.c,v 1.146 2022/06/07 17:45:13 tb 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 | * |
| @@ -815,7 +815,6 @@ ssl3_get_server_hello(SSL *s) | |||
| 815 | const SSL_CIPHER *cipher; | 815 | const SSL_CIPHER *cipher; |
| 816 | const SSL_METHOD *method; | 816 | const SSL_METHOD *method; |
| 817 | unsigned long alg_k; | 817 | unsigned long alg_k; |
| 818 | size_t outlen; | ||
| 819 | int al, ret; | 818 | int al, ret; |
| 820 | 819 | ||
| 821 | s->internal->first_packet = 1; | 820 | s->internal->first_packet = 1; |
| @@ -975,9 +974,9 @@ ssl3_get_server_hello(SSL *s) | |||
| 975 | * zero length session identifier. | 974 | * zero length session identifier. |
| 976 | */ | 975 | */ |
| 977 | if (!CBS_write_bytes(&session_id, s->session->session_id, | 976 | if (!CBS_write_bytes(&session_id, s->session->session_id, |
| 978 | sizeof(s->session->session_id), &outlen)) | 977 | sizeof(s->session->session_id), |
| 978 | &s->session->session_id_length)) | ||
| 979 | goto err; | 979 | goto err; |
| 980 | s->session->session_id_length = outlen; | ||
| 981 | 980 | ||
| 982 | s->session->ssl_version = s->version; | 981 | s->session->ssl_version = s->version; |
| 983 | } | 982 | } |
diff --git a/src/lib/libssl/ssl_sess.c b/src/lib/libssl/ssl_sess.c index 969371b1de..504c402105 100644 --- a/src/lib/libssl/ssl_sess.c +++ b/src/lib/libssl/ssl_sess.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ssl_sess.c,v 1.114 2022/06/07 17:32:53 tb Exp $ */ | 1 | /* $OpenBSD: ssl_sess.c,v 1.115 2022/06/07 17:45:13 tb 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 | * |
| @@ -526,7 +526,6 @@ int | |||
| 526 | ssl_get_prev_session(SSL *s, CBS *session_id, CBS *ext_block, int *alert) | 526 | ssl_get_prev_session(SSL *s, CBS *session_id, CBS *ext_block, int *alert) |
| 527 | { | 527 | { |
| 528 | SSL_SESSION *sess = NULL; | 528 | SSL_SESSION *sess = NULL; |
| 529 | size_t session_id_len; | ||
| 530 | int alert_desc = SSL_AD_INTERNAL_ERROR, fatal = 0; | 529 | int alert_desc = SSL_AD_INTERNAL_ERROR, fatal = 0; |
| 531 | int ticket_decrypted = 0; | 530 | int ticket_decrypted = 0; |
| 532 | 531 | ||
| @@ -555,11 +554,10 @@ ssl_get_prev_session(SSL *s, CBS *session_id, CBS *ext_block, int *alert) | |||
| 555 | * ticket has been accepted so we copy it into sess. | 554 | * ticket has been accepted so we copy it into sess. |
| 556 | */ | 555 | */ |
| 557 | if (!CBS_write_bytes(session_id, sess->session_id, | 556 | if (!CBS_write_bytes(session_id, sess->session_id, |
| 558 | sizeof(sess->session_id), &session_id_len)) { | 557 | sizeof(sess->session_id), &sess->session_id_length)) { |
| 559 | fatal = 1; | 558 | fatal = 1; |
| 560 | goto err; | 559 | goto err; |
| 561 | } | 560 | } |
| 562 | sess->session_id_length = (unsigned int)session_id_len; | ||
| 563 | break; | 561 | break; |
| 564 | default: | 562 | default: |
| 565 | SSLerror(s, ERR_R_INTERNAL_ERROR); | 563 | SSLerror(s, ERR_R_INTERNAL_ERROR); |
