Merge remote-tracking branch 'public/pr/2113' into mbedtls-2.1-proposed
diff --git a/ChangeLog b/ChangeLog
index 6268dfb..6e79644 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,9 @@
invalidated keys of a lifetime of less than a 1s. Fixes #1968.
* Fix potential build failures related to the 'apidoc' target, introduced
in the previous patch release. Found by Robert Scheck. #390 #391
+ * Fix a bug in the record decryption routine ssl_decrypt_buf()
+ which lead to accepting properly authenticated but improperly
+ padded records in case of CBC ciphersuites using Encrypt-then-MAC.
Changes
* "make apidoc" now generates the documentation for the current
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 8091795..5656756 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -2110,13 +2110,13 @@
correct = 0;
}
auth_done++;
-
- /*
- * Finally check the correct flag
- */
- if( correct == 0 )
- return( MBEDTLS_ERR_SSL_INVALID_MAC );
}
+
+ /*
+ * Finally check the correct flag
+ */
+ if( correct == 0 )
+ return( MBEDTLS_ERR_SSL_INVALID_MAC );
#endif /* SSL_SOME_MODES_USE_MAC */
/* Make extra sure authentication was performed, exactly once */