Add a length check in ssl_derive_keys()
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index e738028..7c7adbc 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -596,6 +596,12 @@
#if defined(POLARSSL_SSL_PROTO_SSL3)
if( ssl->minor_ver == SSL_MINOR_VERSION_0 )
{
+ if( transform->maclen > sizeof transform->mac_enc )
+ {
+ SSL_DEBUG_MSG( 1, ( "should never happen" ) );
+ return( POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE );
+ }
+
memcpy( transform->mac_enc, mac_enc, transform->maclen );
memcpy( transform->mac_dec, mac_dec, transform->maclen );
}