Commit c4604e9b authored by Benjamin Kaduk's avatar Benjamin Kaduk Committed by Benjamin Kaduk
Browse files

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: default avatarRich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/4318)
parent de0dc006
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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;