提交 c4604e9b 编写于 作者: B Benjamin Kaduk 提交者: Benjamin Kaduk

Fix long SNI lengths in test/handshake_helper.c

If the server_name extension is long enough to require two bytes to
hold the length of either field, the test suite would not decode
the length properly.  Using the PACKET_ APIs would have avoided this,
but it was desired to avoid using private APIs in this part of the
test suite, to keep ourselves honest.
Reviewed-by: NRich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/4318)
上级 de0dc006
......@@ -153,7 +153,7 @@ static int early_select_server_ctx(SSL *s, void *arg, int ignore)
remaining <= 2)
return 0;
/* Extract the length of the supplied list of names. */
len = (*(p++) << 1);
len = (*(p++) << 8);
len += *(p++);
if (len + 2 != remaining)
return 0;
......@@ -168,7 +168,7 @@ static int early_select_server_ctx(SSL *s, void *arg, int ignore)
/* Now we can finally pull out the byte array with the actual hostname. */
if (remaining <= 2)
return 0;
len = (*(p++) << 1);
len = (*(p++) << 8);
len += *(p++);
if (len + 2 > remaining)
return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册