From d065be482418dfe0b6611a9f4d12222b60ad80ef Mon Sep 17 00:00:00 2001 From: VilhoRaatikka Date: Mon, 20 Oct 2014 22:41:10 +0300 Subject: [PATCH] readwritesplit.c:get_dcb assumed thet get_root_master_bref always returns non-null pointer. Changed it so that get_dcb_returns if it doesn't get master bref pointer. --- server/modules/routing/readwritesplit/readwritesplit.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/server/modules/routing/readwritesplit/readwritesplit.c b/server/modules/routing/readwritesplit/readwritesplit.c index 8e3ca8aeb..9bc1e38c3 100644 --- a/server/modules/routing/readwritesplit/readwritesplit.c +++ b/server/modules/routing/readwritesplit/readwritesplit.c @@ -1064,6 +1064,14 @@ static bool get_dcb( /** get root master from available servers */ master_bref = get_root_master_bref(rses); + /** + * If master can't be found, session will be closed. + */ + if (master_bref == NULL) + { + succp = false; + goto return_succp; + } #if defined(SS_DEBUG) master_host = get_root_master(backend_ref, rses->rses_nbackends); if (master_bref->bref_backend != master_host)