From 59e7298ff9d879493391f06b95189c23dedb7740 Mon Sep 17 00:00:00 2001 From: Adrian-Ken Rueegsegger Date: Mon, 4 Sep 2017 15:00:42 +0200 Subject: [PATCH] charon-tkm: Check for error when acquiring ESA ID --- src/charon-tkm/src/tkm/tkm_kernel_ipsec.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/charon-tkm/src/tkm/tkm_kernel_ipsec.c b/src/charon-tkm/src/tkm/tkm_kernel_ipsec.c index 5decde92b..87b516d43 100644 --- a/src/charon-tkm/src/tkm/tkm_kernel_ipsec.c +++ b/src/charon-tkm/src/tkm/tkm_kernel_ipsec.c @@ -134,6 +134,12 @@ METHOD(kernel_ipsec_t, add_sa, status_t, } esa_id = tkm->idmgr->acquire_id(tkm->idmgr, TKM_CTX_ESA); + if (esa_id == 0) + { + DBG1(DBG_KNL, "unable to acquire esa context id"); + goto esa_id_failure; + } + if (!tkm->sad->insert(tkm->sad, esa_id, data->reqid, local, peer, spi_loc, spi_rem, id->proto)) { @@ -196,6 +202,7 @@ failure: tkm->sad->remove(tkm->sad, esa_id); sad_failure: tkm->idmgr->release_id(tkm->idmgr, TKM_CTX_ESA, esa_id); +esa_id_failure: chunk_free(&esa.nonce_i); chunk_free(&esa.nonce_r); return FAILED;