mirror of
https://github.com/openssl/openssl.git
synced 2025-03-31 20:10:45 +08:00
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: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/4318)
This commit is contained in:
parent
de0dc006a5
commit
c4604e9b97
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user