Add sanity check to ssl_get_prev_session
authorMatt Caswell <matt@openssl.org>
Tue, 28 Apr 2015 14:28:23 +0000 (15:28 +0100)
committerMatt Caswell <matt@openssl.org>
Thu, 30 Apr 2015 22:12:39 +0000 (23:12 +0100)
Sanity check the |len| parameter to ensure it is positive. Thanks to Kevin
Wojtysiak (Int3 Solutions) and Paramjot Oberoi (Int3 Solutions) for
reporting this issue.

Reviewed-by: Andy Polyakov <appro@openssl.org>
ssl/ssl_sess.c

index cec590529150b0d35bb11a79b675fefd7ae02224..34b6fac2bc9c324c707c78fc6fdc74c9078e693b 100644 (file)
@@ -439,7 +439,7 @@ int ssl_get_prev_session(SSL *s, unsigned char *session_id, int len,
     int r;
 #endif
 
-    if (len > SSL_MAX_SSL_SESSION_ID_LENGTH)
+    if (len < 0 || len > SSL_MAX_SSL_SESSION_ID_LENGTH)
         goto err;
 
     if (session_id + len > limit) {