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)) |
