mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-27 06:04:17 +01:00
Zeroize heap buf on failure in pem.c
This commit is contained in:
parent
1b7d6f8c03
commit
4f02a7bd6a
@ -341,6 +341,7 @@ int mbedtls_pem_read_buffer( mbedtls_pem_context *ctx, const char *header, const
|
|||||||
( defined(MBEDTLS_DES_C) || defined(MBEDTLS_AES_C) )
|
( defined(MBEDTLS_DES_C) || defined(MBEDTLS_AES_C) )
|
||||||
if( pwd == NULL )
|
if( pwd == NULL )
|
||||||
{
|
{
|
||||||
|
mbedtls_zeroize( buf, len );
|
||||||
mbedtls_free( buf );
|
mbedtls_free( buf );
|
||||||
return( MBEDTLS_ERR_PEM_PASSWORD_REQUIRED );
|
return( MBEDTLS_ERR_PEM_PASSWORD_REQUIRED );
|
||||||
}
|
}
|
||||||
@ -369,10 +370,12 @@ int mbedtls_pem_read_buffer( mbedtls_pem_context *ctx, const char *header, const
|
|||||||
*/
|
*/
|
||||||
if( len <= 2 || buf[0] != 0x30 || buf[1] > 0x83 )
|
if( len <= 2 || buf[0] != 0x30 || buf[1] > 0x83 )
|
||||||
{
|
{
|
||||||
|
mbedtls_zeroize( buf, len );
|
||||||
mbedtls_free( buf );
|
mbedtls_free( buf );
|
||||||
return( MBEDTLS_ERR_PEM_PASSWORD_MISMATCH );
|
return( MBEDTLS_ERR_PEM_PASSWORD_MISMATCH );
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
mbedtls_zeroize( buf, len );
|
||||||
mbedtls_free( buf );
|
mbedtls_free( buf );
|
||||||
return( MBEDTLS_ERR_PEM_FEATURE_UNAVAILABLE );
|
return( MBEDTLS_ERR_PEM_FEATURE_UNAVAILABLE );
|
||||||
#endif /* MBEDTLS_MD5_C && MBEDTLS_CIPHER_MODE_CBC &&
|
#endif /* MBEDTLS_MD5_C && MBEDTLS_CIPHER_MODE_CBC &&
|
||||||
|
Loading…
Reference in New Issue
Block a user