From faa6e72ca0f3d2b96ee92d1f526b012288386207 Mon Sep 17 00:00:00 2001 From: counterpoint Date: Wed, 9 Mar 2016 14:32:24 +0000 Subject: [PATCH] FIX BUG IN CLIENT DCB SHUTDOWN THAT CAN CAUSE CRASHES --- server/core/dcb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/core/dcb.c b/server/core/dcb.c index 464f82bfe..822387406 100644 --- a/server/core/dcb.c +++ b/server/core/dcb.c @@ -368,9 +368,11 @@ dcb_final_free(DCB *dcb) CHK_SESSION(local_session); if (SESSION_STATE_DUMMY != local_session->state) { + bool is_dcb_client = (local_session->client_dcb == dcb); + session_free(local_session); - if (local_session->client_dcb == dcb) + if (is_dcb_client) { /** The client DCB is freed once all other DCBs that the session * uses have been freed. This will guarantee that the authentication