From: Philippe Antoine Date: Mon, 26 Mar 2018 08:29:56 +0000 (+0200) Subject: statem/statem_clnt.c: omit redundant check in tls_construct_client_hello. X-Git-Tag: OpenSSL_1_1_1-pre4~43 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=dee0cc108fa92952df1f0a246e9e86bb660f1211;p=oweals%2Fopenssl.git statem/statem_clnt.c: omit redundant check in tls_construct_client_hello. Reviewed-by: Andy Polyakov Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/5729) --- diff --git a/ssl/statem/statem_clnt.c b/ssl/statem/statem_clnt.c index 86cf5b6ab2..e940fc8e98 100644 --- a/ssl/statem/statem_clnt.c +++ b/ssl/statem/statem_clnt.c @@ -11,6 +11,7 @@ #include #include +#include #include "../ssl_locl.h" #include "statem_locl.h" #include @@ -1198,14 +1199,14 @@ int tls_construct_client_hello(SSL *s, WPACKET *pkt) sess_id_len = 0; } } else { + assert(s->session->session_id_length <= sizeof(s->session->session_id)); sess_id_len = s->session->session_id_length; if (s->version == TLS1_3_VERSION) { s->tmp_session_id_len = sess_id_len; memcpy(s->tmp_session_id, s->session->session_id, sess_id_len); } } - if (sess_id_len > sizeof(s->session->session_id) - || !WPACKET_start_sub_packet_u8(pkt) + if (!WPACKET_start_sub_packet_u8(pkt) || (sess_id_len != 0 && !WPACKET_memcpy(pkt, session_id, sess_id_len)) || !WPACKET_close(pkt)) {