From: Ping Yu Date: Wed, 26 Dec 2018 10:42:38 +0000 (-0500) Subject: Fix an issue in tls.c X-Git-Tag: v19.04-rc0~56 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=d8e94ba8231138e86f31c745c82a0adf54531164;hp=4a7cbcd06b3fa1f44366a606d5c148cce816503b;p=vpp.git Fix an issue in tls.c Curernt code will overwrite parent_app_api_context, and defer the setting after this value is used in callback. Change-Id: Ie16e432fd0f4214e6deff3aa3b58b3be824b0331 Signed-off-by: Ping Yu --- diff --git a/src/vnet/tls/tls.c b/src/vnet/tls/tls.c index fdba08c5915..34de539b295 100644 --- a/src/vnet/tls/tls.c +++ b/src/vnet/tls/tls.c @@ -262,7 +262,6 @@ tls_notify_app_connected (tls_ctx_t * ctx, u8 is_failed) goto failed; ctx->app_session_handle = session_handle (app_session); - ctx->c_s_index = app_session->session_index; app_session->session_state = SESSION_STATE_CONNECTING; if (cb_fn (ctx->parent_app_index, ctx->parent_app_api_context, app_session, 0 /* not failed */ )) @@ -272,6 +271,9 @@ tls_notify_app_connected (tls_ctx_t * ctx, u8 is_failed) return -1; } + /* parent_app_api_context should not be overwitten before used, + * so defer setting c_s_index */ + ctx->c_s_index = app_session->session_index; app_session->session_state = SESSION_STATE_READY; session_lookup_add_connection (&ctx->connection, session_handle (app_session));