diff options
Diffstat (limited to 'src/lib/libssl/ssl_asn1.c')
-rw-r--r-- | src/lib/libssl/ssl_asn1.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/lib/libssl/ssl_asn1.c b/src/lib/libssl/ssl_asn1.c index 6ff7ca5476..2af6834d88 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.59 2021/05/16 14:10:43 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_asn1.c,v 1.60 2021/10/23 08:13:02 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2016 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2016 Joel Sing <jsing@openbsd.org> |
4 | * | 4 | * |
@@ -388,16 +388,13 @@ d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, long length) | |||
388 | 388 | ||
389 | /* Ticket lifetime [9]. */ | 389 | /* Ticket lifetime [9]. */ |
390 | s->tlsext_tick_lifetime_hint = 0; | 390 | s->tlsext_tick_lifetime_hint = 0; |
391 | /* XXX - tlsext_ticklen is not yet set... */ | ||
392 | if (s->tlsext_ticklen > 0 && s->session_id_length > 0) | ||
393 | s->tlsext_tick_lifetime_hint = -1; | ||
394 | if (!CBS_get_optional_asn1_uint64(&session, &lifetime, | 391 | if (!CBS_get_optional_asn1_uint64(&session, &lifetime, |
395 | SSLASN1_LIFETIME_TAG, 0)) | 392 | SSLASN1_LIFETIME_TAG, 0)) |
396 | goto err; | 393 | goto err; |
397 | if (lifetime > LONG_MAX) | 394 | if (lifetime > UINT32_MAX) |
398 | goto err; | 395 | goto err; |
399 | if (lifetime > 0) | 396 | if (lifetime > 0) |
400 | s->tlsext_tick_lifetime_hint = (long)lifetime; | 397 | s->tlsext_tick_lifetime_hint = (uint32_t)lifetime; |
401 | 398 | ||
402 | /* Ticket [10]. */ | 399 | /* Ticket [10]. */ |
403 | free(s->tlsext_tick); | 400 | free(s->tlsext_tick); |