Fix memleak with repeated [gc]cm_setkey()

This commit is contained in:
Manuel Pégourié-Gonnard 2015-05-27 17:38:50 +02:00
parent bc07c3a1f0
commit 61977614d8
3 changed files with 6 additions and 0 deletions

View File

@ -35,6 +35,8 @@ Features
errors on use of deprecated functions.
Bugfix
* Fix memory leak when gcm_setkey() and ccm_setkey() are used more than
once on the same context.
* Fix bug in ssl_mail_client when password is longer that username (found
by Bruno Pape).
* Fix undefined behaviour (memcmp( NULL, NULL, 0 );) in X.509 modules

View File

@ -78,6 +78,8 @@ int ccm_init( ccm_context *ctx, cipher_id_t cipher,
if( cipher_info->block_size != 16 )
return( POLARSSL_ERR_CCM_BAD_INPUT );
cipher_free( &ctx->cipher_ctx );
if( ( ret = cipher_init_ctx( &ctx->cipher_ctx, cipher_info ) ) != 0 )
return( ret );

View File

@ -168,6 +168,8 @@ int gcm_init( gcm_context *ctx, cipher_id_t cipher, const unsigned char *key,
if( cipher_info->block_size != 16 )
return( POLARSSL_ERR_GCM_BAD_INPUT );
cipher_free( &ctx->cipher_ctx );
if( ( ret = cipher_init_ctx( &ctx->cipher_ctx, cipher_info ) ) != 0 )
return( ret );