mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-02-27 06:41:08 +00:00
Fix memory leak in psa_copy_key
This commit is contained in:
parent
f603c718c9
commit
122d002912
@ -1228,16 +1228,15 @@ static psa_status_t psa_copy_key_material( const psa_key_slot_t *source,
|
|||||||
psa_get_key_bits( source ) );
|
psa_get_key_bits( source ) );
|
||||||
buffer = mbedtls_calloc( 1, buffer_size );
|
buffer = mbedtls_calloc( 1, buffer_size );
|
||||||
if( buffer == NULL )
|
if( buffer == NULL )
|
||||||
{
|
return( PSA_ERROR_INSUFFICIENT_MEMORY );
|
||||||
status = PSA_ERROR_INSUFFICIENT_MEMORY;
|
|
||||||
goto exit;
|
|
||||||
}
|
|
||||||
status = psa_internal_export_key( source, buffer, buffer_size, &length, 0 );
|
status = psa_internal_export_key( source, buffer, buffer_size, &length, 0 );
|
||||||
if( status != PSA_SUCCESS )
|
if( status != PSA_SUCCESS )
|
||||||
goto exit;
|
goto exit;
|
||||||
status = psa_import_key( target, source->type, buffer, length );
|
status = psa_import_key( target, source->type, buffer, length );
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
|
mbedtls_platform_zeroize( buffer, buffer_size );
|
||||||
|
mbedtls_free( buffer );
|
||||||
return( status );
|
return( status );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user