Merge remote-tracking branch 'public/pr/1955' into iotssl-165-dtls-hs-fragmentation-new

* public/pr/1955:
  Adapt ChangeLog
  Fix overly strict bounds check in ssl_parse_certificate_request()
diff --git a/ChangeLog b/ChangeLog
index af12f41..bab69f6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -18,6 +18,9 @@
    * Fix a miscalculation of the maximum record expansion in
      mbedtls_ssl_get_record_expansion() in case of ChachaPoly ciphersuites,
      or CBC ciphersuites in (D)TLS versions 1.1 or higher. Fixes #1913, #1914.
+   * Fix overly strict bounds check in ssl_parse_certificate_request()
+     which could lead to valid CertificateRequest messages being rejected.
+     Fixes #1954.
 
 Changes
    * Copy headers preserving timestamps when doing a "make install".
diff --git a/library/ssl_cli.c b/library/ssl_cli.c
index 4b17dea..73e4391 100644
--- a/library/ssl_cli.c
+++ b/library/ssl_cli.c
@@ -2730,7 +2730,7 @@
      * therefore the buffer length at this point must be greater than that
      * regardless of the actual code path.
      */
-    if( ssl->in_hslen <= mbedtls_ssl_hs_hdr_len( ssl ) + 3 + n )
+    if( ssl->in_hslen <= mbedtls_ssl_hs_hdr_len( ssl ) + 2 + n )
     {
         MBEDTLS_SSL_DEBUG_MSG( 1, ( "bad certificate request message" ) );
         mbedtls_ssl_send_alert_message( ssl, MBEDTLS_SSL_ALERT_LEVEL_FATAL,