tls: memory leak due to missing call to vnet_crypto_key_del
We add the crypto key to the vnet crypto library via vnet_crypto_key_add. However, when the session is disconnected, we don't call vnet_crypto_key_del and the memory is leaked in vnet_crypto library as well as in pico tls key store. It seems dispose crypto is the appropriate place to add vnet_crypto_key_del. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: If6d1266baf686fefe5bb81330ce60b35c8ff574e
This commit is contained in:
@ -197,7 +197,12 @@ ptls_vpp_crypto_aead_encrypt_final (ptls_aead_context_t * _ctx, void *_output)
|
||||
static void
|
||||
ptls_vpp_crypto_aead_dispose_crypto (ptls_aead_context_t * _ctx)
|
||||
{
|
||||
/* Do nothing */
|
||||
vlib_main_t *vm = vlib_get_main ();
|
||||
struct vpp_aead_context_t *ctx = (struct vpp_aead_context_t *) _ctx;
|
||||
|
||||
clib_rwlock_writer_lock (&picotls_main.crypto_keys_rw_lock);
|
||||
vnet_crypto_key_del (vm, ctx->key_index);
|
||||
clib_rwlock_writer_unlock (&picotls_main.crypto_keys_rw_lock);
|
||||
}
|
||||
|
||||
static int
|
||||
|
Reference in New Issue
Block a user