ikev2: fix leaking pending INIT requests
.. when associated profile is deleted. Type: fix Change-Id: Ib05831d79b3b58664ee0a930960513fd465373bf Signed-off-by: Filip Tehlar <ftehlar@cisco.com> (cherry picked from commit 6614df53509030f1c3faf52512bcd8a9851dec5c)
This commit is contained in:
parent
94f5335efb
commit
4a232f88d0
@ -3334,6 +3334,22 @@ ikev2_cleanup_profile_sessions (ikev2_main_t * km, ikev2_profile_t * p)
|
||||
u32 *sai;
|
||||
u32 *del_sai = 0;
|
||||
|
||||
/* *INDENT-OFF* */
|
||||
pool_foreach(sa, km->sais, ({
|
||||
if (pi == sa->profile_index)
|
||||
vec_add1 (del_sai, sa - km->sais);
|
||||
}));
|
||||
/* *INDENT-ON* */
|
||||
|
||||
vec_foreach (sai, del_sai)
|
||||
{
|
||||
sa = pool_elt_at_index (km->sais, sai[0]);
|
||||
ikev2_sa_free_all_vec (sa);
|
||||
hash_unset (km->sa_by_ispi, sa->ispi);
|
||||
pool_put (km->sais, sa);
|
||||
}
|
||||
vec_reset_length (del_sai);
|
||||
|
||||
vec_foreach (tkm, km->per_thread_data)
|
||||
{
|
||||
/* *INDENT-OFF* */
|
||||
|
Loading…
x
Reference in New Issue
Block a user