Don't check for a negative SRP extension size
authorMatt Caswell <matt@openssl.org>
Mon, 25 May 2015 23:05:28 +0000 (00:05 +0100)
committerMatt Caswell <matt@openssl.org>
Tue, 26 May 2015 09:38:56 +0000 (10:38 +0100)
The size of the SRP extension can never be negative (the variable
|size| is unsigned). Therefore don't check if it is less than zero.

RT#3862

Reviewed-by: Richard Levitte <levitte@openssl.org>
(cherry picked from commit 9c89d290834f3ed9146eeb8b64fe5de817679a0b)

ssl/t1_lib.c

index 8cde013138577f4b0f2cdc59312afdb0ad728247..bf11f93e62782f25a1f0219959dcb1b8bba3f3ec 100644 (file)
@@ -2120,7 +2120,7 @@ static int ssl_scan_clienthello_tlsext(SSL *s, unsigned char **p,
         }
 # ifndef OPENSSL_NO_SRP
         else if (type == TLSEXT_TYPE_srp) {
-            if (size <= 0 || ((len = data[0])) != (size - 1)) {
+            if (size == 0 || ((len = data[0])) != (size - 1)) {
                 *al = SSL_AD_DECODE_ERROR;
                 return 0;
             }