ikev2: fix possible SEGV 04/36804/2
authorAtzm Watanabe <atzmism@gmail.com>
Fri, 5 Aug 2022 09:48:25 +0000 (18:48 +0900)
committerBeno�t Ganne <bganne@cisco.com>
Thu, 18 Aug 2022 06:31:52 +0000 (06:31 +0000)
Type: fix
Signed-off-by: Atzm Watanabe <atzmism@gmail.com>
Change-Id: Icbd452b43ecaafe46def1276c98f7e8cbf761e51

src/plugins/ikev2/ikev2.c

index f8b9c6f..5c1aa58 100644 (file)
@@ -3338,12 +3338,12 @@ ikev2_node_internal (vlib_main_t *vm, vlib_node_runtime_t *node,
                  goto dispatch0;
                }
 
-             if (sa0->rekey)
+             if (vec_len (sa0->rekey) > 0)
                {
                  if (!sa0->rekey[0].notify_type &&
                      sa0->rekey[0].protocol_id != IKEV2_PROTOCOL_IKE)
                    {
-                     if (sa0->childs)
+                     if (vec_len (sa0->childs) > 0)
                        ikev2_sa_free_all_child_sa (&sa0->childs);
                      ikev2_child_sa_t *child;
                      vec_add2 (sa0->childs, child, 1);
@@ -3372,7 +3372,7 @@ ikev2_node_internal (vlib_main_t *vm, vlib_node_runtime_t *node,
                                                     1);
                    }
                }
-             else if (sa0->new_child)
+             else if (vec_len (sa0->new_child) > 0)
                {
                  ikev2_child_sa_t *c;
                  vec_add2 (sa0->childs, c, 1);