diff options
author | Philippe Antoine <p.antoine@catenacyber.fr> | 2018-03-26 10:29:56 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2018-03-27 20:03:15 +0200 |
commit | dee0cc108fa92952df1f0a246e9e86bb660f1211 (patch) | |
tree | fa3bc04763ee2cb664f6b21aa1af3e058dfddb72 | |
parent | 242fcd695db6225ef98c5ad084e6f15ec5953158 (diff) |
statem/statem_clnt.c: omit redundant check in tls_construct_client_hello.
Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5729)
-rw-r--r-- | ssl/statem/statem_clnt.c | 5 |
1 files changed, 3 insertions, 2 deletions
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 <stdio.h> #include <time.h> +#include <assert.h> #include "../ssl_locl.h" #include "statem_locl.h" #include <openssl/buffer.h> @@ -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)) { |