mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-29 14:54:15 +01:00
Fix integer overflow in benchmark program
When building with MBEDTLS_MEMORY_DEBUG enabled, and running the ecdh part, the benchmark program would start writing a very large number of space characters on stdout, and would have to be killed because it never seemed to terminate. This was due to an integer overflow in computing how many space to leave after the title in order to get memory measurements aligned, which resulted in up to SIZE_MAX spaces being printed. This commit just fixes the overflow, the next commit is going to fix the magic number (12). Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
This commit is contained in:
parent
a8bc32872a
commit
01955792b3
@ -163,7 +163,8 @@ do { \
|
|||||||
|
|
||||||
#define MEMORY_MEASURE_PRINT( title_len ) \
|
#define MEMORY_MEASURE_PRINT( title_len ) \
|
||||||
mbedtls_memory_buffer_alloc_max_get( &max_used, &max_blocks ); \
|
mbedtls_memory_buffer_alloc_max_get( &max_used, &max_blocks ); \
|
||||||
for( ii = 12 - (title_len); ii != 0; ii-- ) mbedtls_printf( " " ); \
|
for( ii = 12 > (title_len) ? 12 - (title_len) : 1; ii !=0; ii--) \
|
||||||
|
mbedtls_printf( " " ); \
|
||||||
max_used -= prv_used; \
|
max_used -= prv_used; \
|
||||||
max_blocks -= prv_blocks; \
|
max_blocks -= prv_blocks; \
|
||||||
max_bytes = max_used + MEM_BLOCK_OVERHEAD * max_blocks; \
|
max_bytes = max_used + MEM_BLOCK_OVERHEAD * max_blocks; \
|
||||||
|
Loading…
Reference in New Issue
Block a user