Review corrections 3
-Remove additional trace cause by rebase
-Update remaining 16/24/32-bit values to use functions, this uses
additional 36 bytes.
diff --git a/library/ssl_srv.c b/library/ssl_srv.c
index fa073e4..902f2fd 100644
--- a/library/ssl_srv.c
+++ b/library/ssl_srv.c
@@ -315,7 +315,8 @@
while( list_size > 0 )
{
- uint16_t const peer_tls_id = ( p[0] << 8 ) | p[1];
+ uint16_t const peer_tls_id = (uint16_t)
+ mbedtls_platform_get_uint16_be( p );
MBEDTLS_SSL_BEGIN_FOR_EACH_SUPPORTED_EC_TLS_ID( own_tls_id )
if( own_tls_id == peer_tls_id &&
@@ -661,7 +662,7 @@
return( MBEDTLS_ERR_SSL_BAD_HS_CLIENT_HELLO );
}
- list_len = ( buf[0] << 8 ) | buf[1];
+ list_len = mbedtls_platform_get_uint16_be ( buf );
if( list_len != len - 2 )
{
@@ -1447,7 +1448,7 @@
}
MBEDTLS_SSL_DEBUG_MSG( 3, ( "client hello v3, message len.: %d",
- ( ssl->in_len[0] << 8 ) | ssl->in_len[1] ) );
+ (int)mbedtls_platform_get_uint16_be( ssl->in_len ) ) );
MBEDTLS_SSL_DEBUG_MSG( 3, ( "client hello v3, protocol version: [%d:%d]",
buf[1], buf[2] ) );
@@ -1562,11 +1563,12 @@
}
MBEDTLS_SSL_DEBUG_MSG( 3, ( "client hello v3, handshake len.: %d",
- ( buf[1] << 16 ) | ( buf[2] << 8 ) | buf[3] ) );
+ (int)mbedtls_platform_get_uint24_be( &buf[1]) ) );
/* We don't support fragmentation of ClientHello (yet?) */
if( buf[1] != 0 ||
- msg_len != mbedtls_ssl_hs_hdr_len( ssl ) + ( ( buf[2] << 8 ) | buf[3] ) )
+ msg_len != ( mbedtls_ssl_hs_hdr_len( ssl ) +
+ mbedtls_platform_get_uint16_be( &buf[2]) ) )
{
MBEDTLS_SSL_DEBUG_MSG( 1, ( "bad client hello message" ) );
return( MBEDTLS_ERR_SSL_BAD_HS_CLIENT_HELLO );
@@ -1863,8 +1865,7 @@
return( MBEDTLS_ERR_SSL_BAD_HS_CLIENT_HELLO );
}
- ext_len = ( buf[ext_offset + 0] << 8 )
- | ( buf[ext_offset + 1] );
+ ext_len = mbedtls_platform_get_uint16_be( &buf[ext_offset + 0] );
if( ( ext_len > 0 && ext_len < 4 ) ||
msg_len != ext_offset + 2 + ext_len )
@@ -1891,8 +1892,8 @@
MBEDTLS_SSL_ALERT_MSG_DECODE_ERROR );
return( MBEDTLS_ERR_SSL_BAD_HS_CLIENT_HELLO );
}
- ext_id = ( ( ext[0] << 8 ) | ( ext[1] ) );
- ext_size = ( ( ext[2] << 8 ) | ( ext[3] ) );
+ ext_id = (unsigned int)mbedtls_platform_get_uint16_be( ext );
+ ext_size = (unsigned int)mbedtls_platform_get_uint16_be( &ext[2] );
if( ext_size + 4 > ext_len )
{
@@ -2495,8 +2496,7 @@
MBEDTLS_SSL_DEBUG_MSG( 3, ( "server hello, secure renegotiation extension" ) );
- *p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_RENEGOTIATION_INFO >> 8 ) & 0xFF );
- *p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_RENEGOTIATION_INFO ) & 0xFF );
+ p = mbedtls_platform_put_uint16_be( p, MBEDTLS_TLS_EXT_RENEGOTIATION_INFO );
#if defined(MBEDTLS_SSL_RENEGOTIATION)
if( ssl->renego_status != MBEDTLS_SSL_INITIAL_HANDSHAKE )
@@ -2565,8 +2565,7 @@
MBEDTLS_SSL_DEBUG_MSG( 3, ( "server hello, supported_point_formats extension" ) );
- *p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS >> 8 ) & 0xFF );
- *p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS ) & 0xFF );
+ p = mbedtls_platform_put_uint16_be( p, MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS );
*p++ = 0x00;
*p++ = 2;
@@ -2606,8 +2605,7 @@
return;
}
- *p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_ECJPAKE_KKPP >> 8 ) & 0xFF );
- *p++ = (unsigned char)( ( MBEDTLS_TLS_EXT_ECJPAKE_KKPP ) & 0xFF );
+ p = mbedtls_platform_put_uint16_be( p, MBEDTLS_TLS_EXT_ECJPAKE_KKPP );
ret = mbedtls_ecjpake_write_round_one( &ssl->handshake->ecjpake_ctx,
p + 2, end - p - 2, &kkpp_len,
@@ -2883,8 +2881,7 @@
mbedtls_ssl_handshake_get_resume( ssl->handshake ) ? "a" : "no" ) );
ciphersuite = mbedtls_ssl_session_get_ciphersuite( ssl->session_negotiate );
- *p++ = (unsigned char)( ciphersuite >> 8 );
- *p++ = (unsigned char)( ciphersuite );
+ p = mbedtls_platform_put_uint16_be( p, ciphersuite );
*p++ = (unsigned char)(
mbedtls_ssl_session_get_compression( ssl->session_negotiate ) );
@@ -2961,8 +2958,7 @@
if( ext_len > 0 )
{
- *p++ = (unsigned char)( ( ext_len >> 8 ) & 0xFF );
- *p++ = (unsigned char)( ( ext_len ) & 0xFF );
+ p = mbedtls_platform_put_uint16_be( p, ext_len );
p += ext_len;
}
@@ -3802,7 +3798,7 @@
return( MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE );
}
- n = ( (*p)[0] << 8 ) | (*p)[1];
+ n = mbedtls_platform_get_uint16_be ( *p );
*p += 2;
if( *p + n > end )
@@ -4058,7 +4054,7 @@
return( MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE );
}
- n = ( (*p)[0] << 8 ) | (*p)[1];
+ n = mbedtls_platform_get_uint16_be( *p );
*p += 2;
if( n < 1 || n > 65535 || n > (size_t) ( end - *p ) )