Replace memset() with mbedtls_platform_memset()
Steps:
1. sed -i 's/\bmemset(\([^)]\)/mbedtls_platform_memset(\1/g' library/*.c tinycrypt/*.c include/mbedtls/*.h scripts/data_files/*.fmt
2. Manually edit library/platform_util.c to revert to memset() in the
implementations of mbedtls_platform_memset() and mbedtls_platform_memcpy()
3. egrep -n '\<memset\>' library/*.c include/mbedtls/*.h tinycrypt/*.c
The remaining occurrences are in three categories:
a. From point 2 above.
b. In comments.
c. In the initialisation of memset_func, to be changed in a future commit.
diff --git a/library/x509_crt.c b/library/x509_crt.c
index 1923abf..0aebb39 100644
--- a/library/x509_crt.c
+++ b/library/x509_crt.c
@@ -292,7 +292,7 @@
static void x509_crt_cache_init( mbedtls_x509_crt_cache *cache )
{
- memset( cache, 0, sizeof( *cache ) );
+ mbedtls_platform_memset( cache, 0, sizeof( *cache ) );
#if defined(MBEDTLS_THREADING_C)
mbedtls_mutex_init( &cache->frame_mutex );
mbedtls_mutex_init( &cache->pk_mutex );
@@ -332,7 +332,7 @@
x509_crt_cache_clear_frame( cache );
x509_crt_cache_clear_pk( cache );
- memset( cache, 0, sizeof( *cache ) );
+ mbedtls_platform_memset( cache, 0, sizeof( *cache ) );
}
#if !defined(MBEDTLS_X509_REMOVE_HOSTNAME_VERIFICATION)
@@ -1182,7 +1182,7 @@
size_t inner_sig_alg_len;
unsigned char *inner_sig_alg_start;
- memset( frame, 0, sizeof( *frame ) );
+ mbedtls_platform_memset( frame, 0, sizeof( *frame ) );
/*
* Certificate ::= SEQUENCE {
@@ -1484,7 +1484,7 @@
unsigned char *p = frame->subject_alt_raw.p;
unsigned char *end = p + frame->subject_alt_raw.len;
- memset( subject_alt, 0, sizeof( *subject_alt ) );
+ mbedtls_platform_memset( subject_alt, 0, sizeof( *subject_alt ) );
if( ( frame->ext_types & MBEDTLS_X509_EXT_SUBJECT_ALT_NAME ) == 0 )
return( 0 );
@@ -1503,7 +1503,7 @@
unsigned char *p = frame->ext_key_usage_raw.p;
unsigned char *end = p + frame->ext_key_usage_raw.len;
- memset( ext_key_usage, 0, sizeof( *ext_key_usage ) );
+ mbedtls_platform_memset( ext_key_usage, 0, sizeof( *ext_key_usage ) );
if( ( frame->ext_types & MBEDTLS_X509_EXT_EXTENDED_KEY_USAGE ) == 0 )
return( 0 );
@@ -1940,8 +1940,8 @@
if( len > MAX_PATH - 3 )
return( MBEDTLS_ERR_X509_BAD_INPUT_DATA );
- memset( szDir, 0, sizeof(szDir) );
- memset( filename, 0, MAX_PATH );
+ mbedtls_platform_memset( szDir, 0, sizeof(szDir) );
+ mbedtls_platform_memset( filename, 0, MAX_PATH );
memcpy( filename, path, len );
filename[len++] = '\\';
p = filename + len;
@@ -1959,7 +1959,7 @@
len = MAX_PATH - len;
do
{
- memset( p, 0, len );
+ mbedtls_platform_memset( p, 0, len );
if( file_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
continue;
@@ -2271,7 +2271,7 @@
p = buf;
n = size;
- memset( &sig_info, 0, sizeof( mbedtls_x509_crt_sig_info ) );
+ mbedtls_platform_memset( &sig_info, 0, sizeof( mbedtls_x509_crt_sig_info ) );
mbedtls_pk_init( &pk );
if( NULL == crt )
@@ -3834,7 +3834,7 @@
*/
void mbedtls_x509_crt_init( mbedtls_x509_crt *crt )
{
- memset( crt, 0, sizeof(mbedtls_x509_crt) );
+ mbedtls_platform_memset( crt, 0, sizeof(mbedtls_x509_crt) );
}
/*