Merge pull request #357 from gilles-peskine-arm/merge-crypto-development-20200203

Update Mbed Crypto with latest Mbed TLS changes as of 2020-02-03
This commit is contained in:
Janos Follath 2020-02-04 11:00:51 +00:00 committed by GitHub
commit 4fde885d1f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 52 additions and 20 deletions

View file

@ -25,8 +25,7 @@
#include MBEDTLS_CONFIG_FILE
#endif
#if defined(MBEDTLS_ERROR_C) || defined(MBEDTLS_ERROR_STRERROR_DUMMY)
#include "mbedtls/error.h"
#if defined(MBEDTLS_ERROR_STRERROR_DUMMY)
#include <string.h>
#endif

View file

@ -96,7 +96,7 @@ int main( int argc, char *argv[] )
unsigned char IV[16];
unsigned char tmp[16];
unsigned char key[512];
unsigned char digest[32];
unsigned char digest[64];
unsigned char buffer[1024];
unsigned char diff;

View file

@ -19,9 +19,9 @@
## This file is part of Mbed TLS (https://tls.mbed.org)
my $py = $0;
$py =~ s/\.pl$/.py/;
$py =~ s/\.pl$/.py/ or die "Unable to determine the name of the Python script";
exec 'python3', $py, @ARGV;
print STDERR "$0: python3: $!\n";
print STDERR "$0: python3: $!. Trying python instead.\n";
exec 'python', $py, @ARGV;
print STDERR "$0: python: $!\n";
exit 127;

View file

@ -25,8 +25,7 @@
#include MBEDTLS_CONFIG_FILE
#endif
#if defined(MBEDTLS_ERROR_C) || defined(MBEDTLS_ERROR_STRERROR_DUMMY)
#include "mbedtls/error.h"
#if defined(MBEDTLS_ERROR_STRERROR_DUMMY)
#include <string.h>
#endif

View file

@ -370,6 +370,38 @@ typedef enum
*/
#define MAX( x, y ) ( ( x ) > ( y ) ? ( x ) : ( y ) )
/** Allocate memory dynamically and fail the test case if this fails.
*
* You must set \p pointer to \c NULL before calling this macro and
* put `mbedtls_free( pointer )` in the test's cleanup code.
*
* If \p length is zero, the resulting \p pointer will be \c NULL.
* This is usually what we want in tests since API functions are
* supposed to accept null pointers when a buffer size is zero.
*
* This macro expands to an instruction, not an expression.
* It may jump to the \c exit label.
*
* \param pointer An lvalue where the address of the allocated buffer
* will be stored.
* This expression may be evaluated multiple times.
* \param length Number of elements to allocate.
* This expression may be evaluated multiple times.
*
*/
#define ASSERT_ALLOC( pointer, length ) \
do \
{ \
TEST_ASSERT( ( pointer ) == NULL ); \
if( ( length ) != 0 ) \
{ \
( pointer ) = mbedtls_calloc( sizeof( *( pointer ) ), \
( length ) ); \
TEST_ASSERT( ( pointer ) != NULL ); \
} \
} \
while( 0 )
/*
* 32-bit integer manipulation macros (big endian)
*/

View file

@ -525,15 +525,6 @@ int execute_tests( int argc , const char ** argv )
mbedtls_memory_buffer_alloc_init( alloc_buf, sizeof( alloc_buf ) );
#endif
if( outcome_file_name != NULL )
{
outcome_file = fopen( outcome_file_name, "a" );
if( outcome_file == NULL )
{
mbedtls_fprintf( stderr, "Unable to open outcome file. Continuing anyway.\n" );
}
}
/*
* The C standard doesn't guarantee that all-bits-0 is the representation
* of a NULL pointer. We do however use that in our code for initializing
@ -555,6 +546,15 @@ int execute_tests( int argc , const char ** argv )
return( 1 );
}
if( outcome_file_name != NULL )
{
outcome_file = fopen( outcome_file_name, "a" );
if( outcome_file == NULL )
{
mbedtls_fprintf( stderr, "Unable to open outcome file. Continuing anyway.\n" );
}
}
while( arg_index < argc )
{
next_arg = argv[arg_index];
@ -607,6 +607,8 @@ int execute_tests( int argc , const char ** argv )
{
mbedtls_fprintf( stderr, "Failed to open test file: %s\n",
test_filename );
if( outcome_file != NULL )
fclose( outcome_file );
return( 1 );
}