mirror of
https://github.com/openssl/openssl.git
synced 2025-02-11 14:22:43 +08:00
Ensure we send an alert on error when processing a ticket
In some scenarios the connection could fail without an alert being sent. This causes a later assertion failure. Thanks to Quarkslab for reporting this. Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Ben Kaduk <kaduk@mit.edu> (Merged from https://github.com/openssl/openssl/pull/6852)
This commit is contained in:
parent
f38edcab59
commit
1cde025957
@ -2647,10 +2647,16 @@ MSG_PROCESS_RETURN tls_process_new_session_ticket(SSL *s, PACKET *pkt)
|
||||
PACKET extpkt;
|
||||
|
||||
if (!PACKET_as_length_prefixed_2(pkt, &extpkt)
|
||||
|| PACKET_remaining(pkt) != 0
|
||||
|| !tls_collect_extensions(s, &extpkt,
|
||||
SSL_EXT_TLS1_3_NEW_SESSION_TICKET,
|
||||
&exts, NULL, 1)
|
||||
|| PACKET_remaining(pkt) != 0) {
|
||||
SSLfatal(s, SSL_AD_DECODE_ERROR,
|
||||
SSL_F_TLS_PROCESS_NEW_SESSION_TICKET,
|
||||
SSL_R_LENGTH_MISMATCH);
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (!tls_collect_extensions(s, &extpkt,
|
||||
SSL_EXT_TLS1_3_NEW_SESSION_TICKET, &exts,
|
||||
NULL, 1)
|
||||
|| !tls_parse_all_extensions(s,
|
||||
SSL_EXT_TLS1_3_NEW_SESSION_TICKET,
|
||||
exts, NULL, 0, 1)) {
|
||||
|
Loading…
Reference in New Issue
Block a user