mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-26 03:35:49 +01:00
Use allocated memory for SHA self tests
Reduce the stack usage of the testing framework by dynamically allocating the memory used for the test.
This commit is contained in:
parent
e709f7c9e0
commit
bb83b42700
@ -41,7 +41,10 @@
|
|||||||
#include "mbedtls/platform.h"
|
#include "mbedtls/platform.h"
|
||||||
#else
|
#else
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
#define mbedtls_printf printf
|
#define mbedtls_printf printf
|
||||||
|
#define mbedtls_calloc calloc
|
||||||
|
#define mbedtls_free free
|
||||||
#endif /* MBEDTLS_PLATFORM_C */
|
#endif /* MBEDTLS_PLATFORM_C */
|
||||||
#endif /* MBEDTLS_SELF_TEST */
|
#endif /* MBEDTLS_SELF_TEST */
|
||||||
|
|
||||||
@ -389,10 +392,19 @@ static const unsigned char sha256_test_sum[6][32] =
|
|||||||
int mbedtls_sha256_self_test( int verbose )
|
int mbedtls_sha256_self_test( int verbose )
|
||||||
{
|
{
|
||||||
int i, j, k, buflen, ret = 0;
|
int i, j, k, buflen, ret = 0;
|
||||||
unsigned char buf[1024];
|
unsigned char *buf;
|
||||||
unsigned char sha256sum[32];
|
unsigned char sha256sum[32];
|
||||||
mbedtls_sha256_context ctx;
|
mbedtls_sha256_context ctx;
|
||||||
|
|
||||||
|
buf = mbedtls_calloc( 1024, sizeof(unsigned char) );
|
||||||
|
if( NULL == buf )
|
||||||
|
{
|
||||||
|
if( verbose != 0 )
|
||||||
|
mbedtls_printf( "Buffer allocation failed\n" );
|
||||||
|
|
||||||
|
return( 1 );
|
||||||
|
}
|
||||||
|
|
||||||
mbedtls_sha256_init( &ctx );
|
mbedtls_sha256_init( &ctx );
|
||||||
|
|
||||||
for( i = 0; i < 6; i++ )
|
for( i = 0; i < 6; i++ )
|
||||||
@ -436,6 +448,7 @@ int mbedtls_sha256_self_test( int verbose )
|
|||||||
|
|
||||||
exit:
|
exit:
|
||||||
mbedtls_sha256_free( &ctx );
|
mbedtls_sha256_free( &ctx );
|
||||||
|
mbedtls_free( buf );
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,10 @@
|
|||||||
#include "mbedtls/platform.h"
|
#include "mbedtls/platform.h"
|
||||||
#else
|
#else
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
#define mbedtls_printf printf
|
#define mbedtls_printf printf
|
||||||
|
#define mbedtls_calloc calloc
|
||||||
|
#define mbedtls_free free
|
||||||
#endif /* MBEDTLS_PLATFORM_C */
|
#endif /* MBEDTLS_PLATFORM_C */
|
||||||
#endif /* MBEDTLS_SELF_TEST */
|
#endif /* MBEDTLS_SELF_TEST */
|
||||||
|
|
||||||
@ -445,10 +448,19 @@ static const unsigned char sha512_test_sum[6][64] =
|
|||||||
int mbedtls_sha512_self_test( int verbose )
|
int mbedtls_sha512_self_test( int verbose )
|
||||||
{
|
{
|
||||||
int i, j, k, buflen, ret = 0;
|
int i, j, k, buflen, ret = 0;
|
||||||
unsigned char buf[1024];
|
unsigned char *buf;
|
||||||
unsigned char sha512sum[64];
|
unsigned char sha512sum[64];
|
||||||
mbedtls_sha512_context ctx;
|
mbedtls_sha512_context ctx;
|
||||||
|
|
||||||
|
buf = mbedtls_calloc( 1024, sizeof(unsigned char) );
|
||||||
|
if( NULL == buf )
|
||||||
|
{
|
||||||
|
if( verbose != 0 )
|
||||||
|
mbedtls_printf( "Buffer allocation failed\n" );
|
||||||
|
|
||||||
|
return( 1 );
|
||||||
|
}
|
||||||
|
|
||||||
mbedtls_sha512_init( &ctx );
|
mbedtls_sha512_init( &ctx );
|
||||||
|
|
||||||
for( i = 0; i < 6; i++ )
|
for( i = 0; i < 6; i++ )
|
||||||
@ -492,6 +504,7 @@ int mbedtls_sha512_self_test( int verbose )
|
|||||||
|
|
||||||
exit:
|
exit:
|
||||||
mbedtls_sha512_free( &ctx );
|
mbedtls_sha512_free( &ctx );
|
||||||
|
mbedtls_free( buf );
|
||||||
|
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user