diff --git a/src/libcharon/sa/ikev1/tasks/quick_delete.c b/src/libcharon/sa/ikev1/tasks/quick_delete.c index bff7a1d7c..0da50ed40 100644 --- a/src/libcharon/sa/ikev1/tasks/quick_delete.c +++ b/src/libcharon/sa/ikev1/tasks/quick_delete.c @@ -151,7 +151,7 @@ static status_t delete_child(private_quick_delete_t *this, if (remote_close) { child_init_args_t args = { - .reqid = child_sa->get_reqid(child_sa), + .reqid = child_sa->get_reqid_ref(child_sa), }; action_t action; @@ -169,6 +169,10 @@ static status_t delete_child(private_quick_delete_t *this, child_cfg->get_ref(child_cfg); status = this->ike_sa->initiate(this->ike_sa, child_cfg, &args); } + if (args.reqid) + { + charon->kernel->release_reqid(charon->kernel, args.reqid); + } child_cfg->destroy(child_cfg); } }