Allow a zero length extension block
authorAdam Langley <agl@google.com>
Fri, 12 Jun 2015 07:05:49 +0000 (08:05 +0100)
committerMatt Caswell <matt@openssl.org>
Fri, 12 Jun 2015 14:43:02 +0000 (15:43 +0100)
It is valid for an extension block to be present in a ClientHello, but to
be of zero length.

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
ssl/t1_lib.c

index d811d3fdb88f11c0ce75556aef63d1dd8f5635dd..210a5e87430f266f76edb893f00be9656ae6d4d7 100644 (file)
@@ -2016,12 +2016,12 @@ static int ssl_scan_clienthello_tlsext(SSL *s, unsigned char **p,
 
     s->srtp_profile = NULL;
 
-    if (data >= (d + n - 2)) {
-        if (data != d + n)
-            goto err;
-        else
-            goto ri_check;
-    }
+    if (data == d + n)
+        goto ri_check;
+
+    if (data > (d + n - 2))
+        goto err;
+
     n2s(data, len);
 
     if (data > (d + n - len))