diff options
Diffstat (limited to '')
-rw-r--r-- | src/lib/libssl/ssl_asn1.c | 7 |
1 files changed, 2 insertions, 5 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)) |