Add length checks in parse_certificate_verify()
diff --git a/library/ssl_srv.c b/library/ssl_srv.c
index b31cc23..c839ea7 100644
--- a/library/ssl_srv.c
+++ b/library/ssl_srv.c
@@ -3330,6 +3330,12 @@
 #if defined(POLARSSL_SSL_PROTO_TLS1_2)
     if( ssl->minor_ver == SSL_MINOR_VERSION_3 )
     {
+        if( i + 2 > ssl->in_hslen )
+        {
+            SSL_DEBUG_MSG( 1, ( "bad certificate verify message" ) );
+            return( POLARSSL_ERR_SSL_BAD_HS_CERTIFICATE_VERIFY );
+        }
+
         /*
          * Hash
          */
@@ -3376,6 +3382,12 @@
         return( POLARSSL_ERR_SSL_INTERNAL_ERROR );
     }
 
+    if( i + 2 > ssl->in_hslen )
+    {
+        SSL_DEBUG_MSG( 1, ( "bad certificate verify message" ) );
+        return( POLARSSL_ERR_SSL_BAD_HS_CERTIFICATE_VERIFY );
+    }
+
     sig_len = ( ssl->in_msg[i] << 8 ) | ssl->in_msg[i+1];
     i += 2;