File CVE-2018-9989.patch of Package mbedtls.7991

---
 library/ssl_cli.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Index: mbedtls-1.3.19/library/ssl_cli.c
===================================================================
--- mbedtls-1.3.19.orig/library/ssl_cli.c
+++ mbedtls-1.3.19/library/ssl_cli.c
@@ -1683,10 +1683,15 @@ static int ssl_parse_server_psk_hint( ss
      *
      * opaque psk_identity_hint<0..2^16-1>;
      */
+    if( (*p) > end - 2 )
+    {
+        SSL_DEBUG_MSG( 1, ( "bad server key exchange message (psk_identity_hint length)" ) );
+        return( POLARSSL_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE );
+    }
     len = (*p)[0] << 8 | (*p)[1];
     *p += 2;
 
-    if( (*p) + len > end )
+    if( (*p) > end - len )
     {
         SSL_DEBUG_MSG( 1, ( "bad server key exchange message (psk_identity_hint length)" ) );
         return( POLARSSL_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE );
openSUSE Build Service is sponsored by