From 1b09faf2e4a4d019a7f8a133e1a454f3cb7ed5ac Mon Sep 17 00:00:00 2001 From: Markus Makela Date: Sun, 27 Nov 2016 10:02:47 +0200 Subject: [PATCH] Fix crash on debug logging The debug logging for persistent connections caused a crash if a non-backend DCB was processed. --- server/core/dcb.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server/core/dcb.c b/server/core/dcb.c index f7f307f67..b0f3ceb6a 100644 --- a/server/core/dcb.c +++ b/server/core/dcb.c @@ -1730,7 +1730,7 @@ dcb_maybe_add_persistent(DCB *dcb) atomic_add(&dcb->server->stats.n_current, -1); return true; } - else + else if (dcb->dcb_role == DCB_ROLE_BACKEND_HANDLER && dcb->server) { MXS_DEBUG("%lu [dcb_maybe_add_persistent] Not adding DCB %p to persistent pool, " "user %s, max for pool %ld, error handle called %s, hung flag %s, " @@ -1738,10 +1738,10 @@ dcb_maybe_add_persistent(DCB *dcb) pthread_self(), dcb, dcb->user ? dcb->user : "", - (dcb->server && dcb->server->persistpoolmax) ? dcb->server->persistpoolmax : 0, + dcb->server->persistpoolmax, dcb->dcb_errhandle_called ? "true" : "false", (dcb->flags & DCBF_HUNG) ? "true" : "false", - dcb->server ? dcb->server->status : 0, + dcb->server->status, dcb->server->stats.n_persistent); } return false;