Merge remote-tracking branch 'public/pr/1646' into development
This commit is contained in:
commit
ebb6427992
4 changed files with 29 additions and 8 deletions
|
@ -8,8 +8,13 @@ option(ENABLE_PROGRAMS "Build mbed TLS programs." ON)
|
||||||
|
|
||||||
option(UNSAFE_BUILD "Allow unsafe builds. These builds ARE NOT SECURE." OFF)
|
option(UNSAFE_BUILD "Allow unsafe builds. These builds ARE NOT SECURE." OFF)
|
||||||
|
|
||||||
|
string(REGEX MATCH "Clang" CMAKE_COMPILER_IS_CLANG "${CMAKE_C_COMPILER_ID}")
|
||||||
|
string(REGEX MATCH "GNU" CMAKE_COMPILER_IS_GNU "${CMAKE_C_COMPILER_ID}")
|
||||||
|
string(REGEX MATCH "IAR" CMAKE_COMPILER_IS_IAR "${CMAKE_C_COMPILER_ID}")
|
||||||
|
string(REGEX MATCH "MSVC" CMAKE_COMPILER_IS_MSVC "${CMAKE_C_COMPILER_ID}")
|
||||||
|
|
||||||
# the test suites currently have compile errors with MSVC
|
# the test suites currently have compile errors with MSVC
|
||||||
if(MSVC)
|
if(CMAKE_COMPILER_IS_MSVC)
|
||||||
option(ENABLE_TESTING "Build mbed TLS tests." OFF)
|
option(ENABLE_TESTING "Build mbed TLS tests." OFF)
|
||||||
else()
|
else()
|
||||||
option(ENABLE_TESTING "Build mbed TLS tests." ON)
|
option(ENABLE_TESTING "Build mbed TLS tests." ON)
|
||||||
|
@ -86,7 +91,7 @@ endfunction(link_to_source)
|
||||||
|
|
||||||
string(REGEX MATCH "Clang" CMAKE_COMPILER_IS_CLANG "${CMAKE_C_COMPILER_ID}")
|
string(REGEX MATCH "Clang" CMAKE_COMPILER_IS_CLANG "${CMAKE_C_COMPILER_ID}")
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCC)
|
if(CMAKE_COMPILER_IS_GNU)
|
||||||
# some warnings we want are not available with old GCC versions
|
# some warnings we want are not available with old GCC versions
|
||||||
# note: starting with CMake 2.8 we could use CMAKE_C_COMPILER_VERSION
|
# note: starting with CMake 2.8 we could use CMAKE_C_COMPILER_VERSION
|
||||||
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion
|
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion
|
||||||
|
@ -105,7 +110,7 @@ if(CMAKE_COMPILER_IS_GNUCC)
|
||||||
set(CMAKE_C_FLAGS_ASANDBG "-Werror -fsanitize=address -fno-common -O1 -g3 -fno-omit-frame-pointer -fno-optimize-sibling-calls ")
|
set(CMAKE_C_FLAGS_ASANDBG "-Werror -fsanitize=address -fno-common -O1 -g3 -fno-omit-frame-pointer -fno-optimize-sibling-calls ")
|
||||||
set(CMAKE_C_FLAGS_CHECK "-Werror -Os")
|
set(CMAKE_C_FLAGS_CHECK "-Werror -Os")
|
||||||
set(CMAKE_C_FLAGS_CHECKFULL "${CMAKE_C_FLAGS_CHECK} -Wcast-qual")
|
set(CMAKE_C_FLAGS_CHECKFULL "${CMAKE_C_FLAGS_CHECK} -Wcast-qual")
|
||||||
endif(CMAKE_COMPILER_IS_GNUCC)
|
endif(CMAKE_COMPILER_IS_GNU)
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_CLANG)
|
if(CMAKE_COMPILER_IS_CLANG)
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -W -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -W -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow")
|
||||||
|
@ -119,16 +124,20 @@ if(CMAKE_COMPILER_IS_CLANG)
|
||||||
set(CMAKE_C_FLAGS_CHECK "-Werror -Os")
|
set(CMAKE_C_FLAGS_CHECK "-Werror -Os")
|
||||||
endif(CMAKE_COMPILER_IS_CLANG)
|
endif(CMAKE_COMPILER_IS_CLANG)
|
||||||
|
|
||||||
if(MSVC)
|
if(CMAKE_COMPILER_IS_IAR)
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --warn_about_c_style_casts --warnings_are_errors -Ohz")
|
||||||
|
endif(CMAKE_COMPILER_IS_IAR)
|
||||||
|
|
||||||
|
if(CMAKE_COMPILER_IS_MSVC)
|
||||||
# Strictest warnings, and treat as errors
|
# Strictest warnings, and treat as errors
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3")
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX")
|
||||||
endif(MSVC)
|
endif(CMAKE_COMPILER_IS_MSVC)
|
||||||
|
|
||||||
if(CMAKE_BUILD_TYPE STREQUAL "Coverage")
|
if(CMAKE_BUILD_TYPE STREQUAL "Coverage")
|
||||||
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG)
|
if(CMAKE_COMPILER_IS_GNU OR CMAKE_COMPILER_IS_CLANG)
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS "--coverage")
|
set(CMAKE_SHARED_LINKER_FLAGS "--coverage")
|
||||||
endif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG)
|
endif(CMAKE_COMPILER_IS_GNU OR CMAKE_COMPILER_IS_CLANG)
|
||||||
endif(CMAKE_BUILD_TYPE STREQUAL "Coverage")
|
endif(CMAKE_BUILD_TYPE STREQUAL "Coverage")
|
||||||
|
|
||||||
if(LIB_INSTALL_DIR)
|
if(LIB_INSTALL_DIR)
|
||||||
|
|
|
@ -630,7 +630,13 @@ static inline int mbedtls_ssl_safer_memcmp( const void *a, const void *b, size_t
|
||||||
volatile unsigned char diff = 0;
|
volatile unsigned char diff = 0;
|
||||||
|
|
||||||
for( i = 0; i < n; i++ )
|
for( i = 0; i < n; i++ )
|
||||||
diff |= A[i] ^ B[i];
|
{
|
||||||
|
/* Read volatile data in order before computing diff.
|
||||||
|
* This avoids IAR compiler warning:
|
||||||
|
* 'the order of volatile accesses is undefined ..' */
|
||||||
|
unsigned char x = A[i], y = B[i];
|
||||||
|
diff |= x ^ y;
|
||||||
|
}
|
||||||
|
|
||||||
return( diff );
|
return( diff );
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,7 +83,9 @@ int mbedtls_asn1_write_len( unsigned char **p, unsigned char *start, size_t len
|
||||||
return( 4 );
|
return( 4 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if SIZE_MAX > 0xFFFFFFFF
|
||||||
if( len <= 0xFFFFFFFF )
|
if( len <= 0xFFFFFFFF )
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
if( *p - start < 5 )
|
if( *p - start < 5 )
|
||||||
return( MBEDTLS_ERR_ASN1_BUF_TOO_SMALL );
|
return( MBEDTLS_ERR_ASN1_BUF_TOO_SMALL );
|
||||||
|
@ -96,7 +98,9 @@ int mbedtls_asn1_write_len( unsigned char **p, unsigned char *start, size_t len
|
||||||
return( 5 );
|
return( 5 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if SIZE_MAX > 0xFFFFFFFF
|
||||||
return( MBEDTLS_ERR_ASN1_INVALID_LENGTH );
|
return( MBEDTLS_ERR_ASN1_INVALID_LENGTH );
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
int mbedtls_asn1_write_tag( unsigned char **p, unsigned char *start, unsigned char tag )
|
int mbedtls_asn1_write_tag( unsigned char **p, unsigned char *start, unsigned char tag )
|
||||||
|
|
|
@ -249,8 +249,10 @@ int mbedtls_pkcs5_pbkdf2_hmac( mbedtls_md_context_t *ctx, const unsigned char *p
|
||||||
memset( counter, 0, 4 );
|
memset( counter, 0, 4 );
|
||||||
counter[3] = 1;
|
counter[3] = 1;
|
||||||
|
|
||||||
|
#if UINT_MAX > 0xFFFFFFFF
|
||||||
if( iteration_count > 0xFFFFFFFF )
|
if( iteration_count > 0xFFFFFFFF )
|
||||||
return( MBEDTLS_ERR_PKCS5_BAD_INPUT_DATA );
|
return( MBEDTLS_ERR_PKCS5_BAD_INPUT_DATA );
|
||||||
|
#endif
|
||||||
|
|
||||||
while( key_length )
|
while( key_length )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue