From 9e4b86ff0a17e7702aa49dda042b24fdee188ec0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Thu, 21 Jun 2018 10:04:34 +0300 Subject: [PATCH] MXS-1935: Accent NULL from qc_get_preparable_stmt in readwritesplit If the prepared statement cannot be extracted from the query, treat it as a query with an unknown type. --- server/modules/routing/readwritesplit/rwsplit_ps.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/server/modules/routing/readwritesplit/rwsplit_ps.cc b/server/modules/routing/readwritesplit/rwsplit_ps.cc index c21a536ba..9c56454fd 100644 --- a/server/modules/routing/readwritesplit/rwsplit_ps.cc +++ b/server/modules/routing/readwritesplit/rwsplit_ps.cc @@ -21,7 +21,7 @@ uint32_t get_prepare_type(GWBUF* buffer) { - uint32_t type; + uint32_t type = QUERY_TYPE_UNKNOWN; if (mxs_mysql_get_command(buffer) == MXS_COM_STMT_PREPARE) { @@ -48,9 +48,11 @@ uint32_t get_prepare_type(GWBUF* buffer) else { GWBUF* stmt = qc_get_preparable_stmt(buffer); - ss_dassert(stmt); - type = qc_get_type_mask(stmt); + if (stmt) + { + type = qc_get_type_mask(stmt); + } } ss_dassert((type & (QUERY_TYPE_PREPARE_STMT | QUERY_TYPE_PREPARE_NAMED_STMT)) == 0);