diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 25351ae..c8e7080 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -2236,7 +2236,7 @@
         padlen = 40;
 
     memcpy( header, ctr, 8 );
-    header[ 8] = (unsigned char)  type;
+    header[8] = (unsigned char) type;
     mbedtls_platform_put_uint16_be( &header[9], len );
 
     memset( padding, 0x36, padlen );
@@ -4624,12 +4624,12 @@
 
 static uint32_t ssl_get_hs_frag_len( mbedtls_ssl_context const *ssl )
 {
-    return mbedtls_platform_get_uint24_be( &ssl->in_msg[9] );
+    return ( mbedtls_platform_get_uint24_be( &ssl->in_msg[9] ) );
 }
 
 static uint32_t ssl_get_hs_frag_off( mbedtls_ssl_context const *ssl )
 {
-    return mbedtls_platform_get_uint24_be( &ssl->in_msg[6] );
+    return ( mbedtls_platform_get_uint24_be( &ssl->in_msg[6] ) );
 }
 
 static int ssl_check_hs_header( mbedtls_ssl_context const *ssl )
@@ -4732,7 +4732,7 @@
 
 static uint32_t ssl_get_hs_total_len( mbedtls_ssl_context const *ssl )
 {
-    return mbedtls_platform_get_uint24_be( &ssl->in_msg[1] );
+    return ( mbedtls_platform_get_uint24_be( &ssl->in_msg[1] ) );
 }
 
 int mbedtls_ssl_prepare_handshake_record( mbedtls_ssl_context *ssl )
