crypto: bails out early for unsupported key type

Do not access data structures based on uninitialized key->alg.

Type: fix
Fixes: f539578bac

Change-Id: I6bfb7e7a51af2c131b8bdf3bca6a38fcf1094760
Signed-off-by: Benoît Ganne <bganne@cisco.com>
This commit is contained in:
Benoît Ganne
2020-07-17 11:33:19 +02:00
committed by Damjan Marion
parent e29fb5bf1b
commit 0c65f52bb9
2 changed files with 8 additions and 8 deletions

View File

@@ -436,6 +436,10 @@ crypto_ipsecmb_key_handler (vlib_main_t * vm, vnet_crypto_key_op_t kop,
u32 i;
void *kd;
/** TODO: add linked alg support **/
if (key->type == VNET_CRYPTO_KEY_TYPE_LINK)
return;
if (kop == VNET_CRYPTO_KEY_OP_DEL)
{
if (idx >= vec_len (imbm->key_data))
@@ -459,10 +463,6 @@ crypto_ipsecmb_key_handler (vlib_main_t * vm, vnet_crypto_key_op_t kop,
clib_mem_free_s (imbm->key_data[idx]);
}
/** TODO: add linked alg support **/
if (key->type == VNET_CRYPTO_KEY_TYPE_LINK)
return;
kd = imbm->key_data[idx] = clib_mem_alloc_aligned (ad->data_size,
CLIB_CACHE_LINE_BYTES);