Avoid memory leak with repeated [gc]ccm_setkey()
diff --git a/library/gcm.c b/library/gcm.c
index 79d433a..a347c06 100644
--- a/library/gcm.c
+++ b/library/gcm.c
@@ -174,6 +174,8 @@
     if( cipher_info->block_size != 16 )
         return( MBEDTLS_ERR_GCM_BAD_INPUT );
 
+    mbedtls_cipher_free( &ctx->cipher_ctx );
+
     if( ( ret = mbedtls_cipher_setup( &ctx->cipher_ctx, cipher_info ) ) != 0 )
         return( ret );