Avoid memory leak with repeated [gc]ccm_setkey()

This commit is contained in:
Manuel Pégourié-Gonnard 2015-05-27 17:23:30 +02:00
parent 3a89559d71
commit 43b08574a6
2 changed files with 4 additions and 0 deletions

View file

@ -81,6 +81,8 @@ int mbedtls_ccm_setkey( mbedtls_ccm_context *ctx,
if( cipher_info->block_size != 16 ) if( cipher_info->block_size != 16 )
return( MBEDTLS_ERR_CCM_BAD_INPUT ); return( MBEDTLS_ERR_CCM_BAD_INPUT );
mbedtls_cipher_free( &ctx->cipher_ctx );
if( ( ret = mbedtls_cipher_setup( &ctx->cipher_ctx, cipher_info ) ) != 0 ) if( ( ret = mbedtls_cipher_setup( &ctx->cipher_ctx, cipher_info ) ) != 0 )
return( ret ); return( ret );

View file

@ -174,6 +174,8 @@ int mbedtls_gcm_setkey( mbedtls_gcm_context *ctx,
if( cipher_info->block_size != 16 ) if( cipher_info->block_size != 16 )
return( MBEDTLS_ERR_GCM_BAD_INPUT ); return( MBEDTLS_ERR_GCM_BAD_INPUT );
mbedtls_cipher_free( &ctx->cipher_ctx );
if( ( ret = mbedtls_cipher_setup( &ctx->cipher_ctx, cipher_info ) ) != 0 ) if( ( ret = mbedtls_cipher_setup( &ctx->cipher_ctx, cipher_info ) ) != 0 )
return( ret ); return( ret );