diff options
author | Filip Tehlar <ftehlar@cisco.com> | 2020-10-30 05:00:18 +0000 |
---|---|---|
committer | Andrew Yourtchenko <ayourtch@gmail.com> | 2020-11-26 15:02:41 +0000 |
commit | f7fd0e749b91aba981742ce704a993170ed1c34a (patch) | |
tree | 0278af90889d0734ababfb619a357b6b79e523f6 /src | |
parent | a81bcf3945c9a0128de2e5d32a71813e32b05bc4 (diff) |
ikev2: fix memory leak
Type: fix
Change-Id: I33c38c791cc9a28898de402ae831c4862073eb2d
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
(cherry picked from commit b8bc2f1ef3332a795880f11f1c45a77b1b7851f6)
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/ikev2/ikev2.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/plugins/ikev2/ikev2.c b/src/plugins/ikev2/ikev2.c index 025b34ca32d..2281c91d44f 100644 --- a/src/plugins/ikev2/ikev2.c +++ b/src/plugins/ikev2/ikev2.c @@ -1443,17 +1443,22 @@ ikev2_process_create_child_sa_req (vlib_main_t * vm, rekey->tsi = tsi; rekey->tsr = tsr; /* update Ni */ - vec_free (sa->i_nonce); + vec_reset_length (sa->i_nonce); vec_add (sa->i_nonce, nonce, IKEV2_NONCE_SIZE); /* generate new Nr */ vec_validate (sa->r_nonce, IKEV2_NONCE_SIZE - 1); RAND_bytes ((u8 *) sa->r_nonce, IKEV2_NONCE_SIZE); - vec_free (n); } + else + goto cleanup_and_exit; + vec_free (n); return 1; cleanup_and_exit: vec_free (n); + vec_free (proposal); + vec_free (tsr); + vec_free (tsi); return 0; } |