session: fix use-after-free
[vpp.git] / src / vnet / tcp / tcp.c
index 75a45a4..8467ea4 100644 (file)
@@ -192,9 +192,9 @@ tcp_half_open_connection_del (tcp_connection_t * tc)
 {
   tcp_main_t *tm = vnet_get_tcp_main ();
   clib_spinlock_lock_if_init (&tm->half_open_lock);
-  pool_put_index (tm->half_open_connections, tc->c_c_index);
   if (CLIB_DEBUG)
     clib_memset (tc, 0xFA, sizeof (*tc));
+  pool_put (tm->half_open_connections, tc);
   clib_spinlock_unlock_if_init (&tm->half_open_lock);
 }