diff --git a/ssl/statem/statem_srvr.c b/ssl/statem/statem_srvr.c index 7cc3dfac544ef06c1f726107e66f813d47865e3e..b09ed1dbc4a6f20b7b3096c5a13993171d009c4f 100644 --- a/ssl/statem/statem_srvr.c +++ b/ssl/statem/statem_srvr.c @@ -963,7 +963,6 @@ MSG_PROCESS_RETURN tls_process_client_hello(SSL *s, PACKET *pkt) al = SSL_AD_DECODE_ERROR; goto f_err; } - clienthello.session_id_len = session_id_len; if (session_id_len > SSL_MAX_SSL_SESSION_ID_LENGTH) { al = SSL_AD_DECODE_ERROR; @@ -973,8 +972,7 @@ MSG_PROCESS_RETURN tls_process_client_hello(SSL *s, PACKET *pkt) if (!PACKET_get_sub_packet(pkt, &clienthello.ciphersuites, ciphersuite_len) - || !PACKET_copy_bytes(pkt, clienthello.session_id, - clienthello.session_id_len) + || !PACKET_copy_bytes(pkt, clienthello.session_id, session_id_len) || !PACKET_get_sub_packet(pkt, &challenge, challenge_len) /* No extensions. */ || PACKET_remaining(pkt) != 0) { @@ -983,6 +981,7 @@ MSG_PROCESS_RETURN tls_process_client_hello(SSL *s, PACKET *pkt) al = SSL_AD_DECODE_ERROR; goto f_err; } + clienthello.session_id_len = session_id_len; /* Load the client random and compression list. */ challenge_len = challenge_len > sizeof(clienthello.random)