From: Filip Tehlar Date: Fri, 11 Mar 2022 11:12:56 +0000 (+0000) Subject: session: fix crash during client detach X-Git-Tag: v22.10-rc0~289 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=9c32f05751ca92239f0cc667a8d696dec86c9db8;p=vpp.git session: fix crash during client detach This fixes a crash caused by client closing socket before adding worker. During detach vpp tries to delete worker based on invalid worker index. Type: fix Signed-off-by: Filip Tehlar Change-Id: I3242bcbb116ef5fd1d4c449f5bcf907e4e2f8f30 --- diff --git a/src/vnet/session/session_api.c b/src/vnet/session/session_api.c index 615e2ade59c..2502ef6a70a 100644 --- a/src/vnet/session/session_api.c +++ b/src/vnet/session/session_api.c @@ -1485,7 +1485,9 @@ sapi_socket_detach (app_namespace_t * app_ns, clib_socket_t * cs) /* Cleanup everything because app worker closed socket or crashed */ handle = (app_ns_api_handle_t *) & cs->private_data; - app_wrk = app_worker_get (handle->aah_app_wrk_index); + app_wrk = app_worker_get_if_valid (handle->aah_app_wrk_index); + if (!app_wrk) + return; vnet_app_worker_add_del_args_t args = { .app_index = app_wrk->app_index,