From 55447919ce812e7374cfb78a3d9dcdaaaea869d3 Mon Sep 17 00:00:00 2001 From: VilhoRaatikka Date: Fri, 19 Dec 2014 11:35:17 +0200 Subject: [PATCH] Fix to Coverity issue 84943 --- .../routing/readwritesplit/readwritesplit.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/server/modules/routing/readwritesplit/readwritesplit.c b/server/modules/routing/readwritesplit/readwritesplit.c index 83e4e026f..dc838d776 100644 --- a/server/modules/routing/readwritesplit/readwritesplit.c +++ b/server/modules/routing/readwritesplit/readwritesplit.c @@ -4311,12 +4311,6 @@ static void handleError ( CHK_DCB(backend_dcb); - if (!rses_begin_locked_router_action(rses)) - { - *succp = false; - return; - } - /** Don't handle same error twice on same DCB */ if (backend_dcb->dcb_errhandle_called) { @@ -4341,7 +4335,14 @@ static void handleError ( switch (action) { case ERRACT_NEW_CONNECTION: { - SERVER* srv = rses->rses_master_ref->bref_backend->backend_server; + SERVER* srv; + + if (!rses_begin_locked_router_action(rses)) + { + *succp = false; + return; + } + srv = rses->rses_master_ref->bref_backend->backend_server; /** * If master has lost its Master status error can't be * handled so that session could continue. @@ -4380,7 +4381,6 @@ static void handleError ( case ERRACT_REPLY_CLIENT: { - rses_end_locked_router_action(rses); handle_error_reply_client(session, rses, backend_dcb, @@ -4390,7 +4390,6 @@ static void handleError ( } default: - rses_end_locked_router_action(rses); *succp = false; break; }