diff options
author | Adrian-Ken Rueegsegger <ken@codelabs.ch> | 2017-09-04 15:00:42 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2017-09-15 12:16:57 +0200 |
commit | 59e7298ff9d879493391f06b95189c23dedb7740 (patch) | |
tree | 772bb283b9d30032617d0a13f3dfb58ef7beece8 | |
parent | 8e823bb8b1ae4b1efcb81bc2cf07717333309120 (diff) | |
download | strongswan-59e7298ff9d879493391f06b95189c23dedb7740.tar.bz2 strongswan-59e7298ff9d879493391f06b95189c23dedb7740.tar.xz |
charon-tkm: Check for error when acquiring ESA ID
-rw-r--r-- | src/charon-tkm/src/tkm/tkm_kernel_ipsec.c | 7 |
1 files changed, 7 insertions, 0 deletions
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; |