diff --git a/include/mbedtls/platform_util.h b/include/mbedtls/platform_util.h index f2aeffceb..67a7877eb 100644 --- a/include/mbedtls/platform_util.h +++ b/include/mbedtls/platform_util.h @@ -178,8 +178,9 @@ void mbedtls_platform_zeroize( void *buf, size_t len ); * \param value Value to be used when setting the buffer. * \param num The length of the buffer in bytes. * + * \return The value of \p ptr. */ -void mbedtls_platform_memset( void *ptr, int value, size_t num ); +void *mbedtls_platform_memset( void *ptr, int value, size_t num ); /** * \brief Secure memcpy @@ -195,8 +196,9 @@ void mbedtls_platform_memset( void *ptr, int value, size_t num ); * \param src Source buffer where the data is being copied from. * \param num The length of the buffers in bytes. * + * \return The value of \p dst. */ -void mbedtls_platform_memcpy( void *dst, const void *src, size_t num ); +void *mbedtls_platform_memcpy( void *dst, const void *src, size_t num ); /** * \brief Secure memcmp diff --git a/library/platform_util.c b/library/platform_util.c index dad83762f..349146d48 100644 --- a/library/platform_util.c +++ b/library/platform_util.c @@ -79,7 +79,7 @@ void mbedtls_platform_zeroize( void *buf, size_t len ) } #endif /* MBEDTLS_PLATFORM_ZEROIZE_ALT */ -void mbedtls_platform_memset( void *ptr, int value, size_t num ) +void *mbedtls_platform_memset( void *ptr, int value, size_t num ) { /* Randomize start offset. */ size_t start_offset = (size_t) mbedtls_platform_random_in_range( num ); @@ -93,10 +93,10 @@ void mbedtls_platform_memset( void *ptr, int value, size_t num ) memset( (void *) ptr, data, start_offset ); /* Perform the original memset */ - memset( ptr, value, num ); + return( memset( ptr, value, num ) ); } -void mbedtls_platform_memcpy( void *dst, const void *src, size_t num ) +void *mbedtls_platform_memcpy( void *dst, const void *src, size_t num ) { /* Randomize start offset. */ size_t start_offset = (size_t) mbedtls_platform_random_in_range( num ); @@ -107,7 +107,7 @@ void mbedtls_platform_memcpy( void *dst, const void *src, size_t num ) memcpy( (void *) ( (unsigned char *) dst + start_offset ), (void *) ( (unsigned char *) src + start_offset ), ( num - start_offset ) ); - memcpy( (void *) dst, (void *) src, start_offset ); + return( memcpy( (void *) dst, (void *) src, start_offset ) ); } int mbedtls_platform_memcmp( const void *buf1, const void *buf2, size_t num )