- Merged security fixes to 1.1 branch
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 44e972c..8933355 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -785,6 +785,13 @@
     /*
      * Always compute the MAC (RFC4346, CBCTIME).
      */
+    if( ssl->in_msglen <= ssl->maclen + padlen )
+    {
+        SSL_DEBUG_MSG( 1, ( "msglen (%d) < maclen (%d) + padlen (%d)",
+                    ssl->in_msglen, ssl->maclen, padlen ) );
+        return( POLARSSL_ERR_SSL_INVALID_MAC );
+    }
+
     ssl->in_msglen -= ( ssl->maclen + padlen );
 
     ssl->in_hdr[3] = (unsigned char)( ssl->in_msglen >> 8 );