From 6dd73fc6314ff23894e89aa3477bbc79d48e2bde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Canna=C3=B2?= Date: Mon, 13 Apr 2020 16:19:24 +0200 Subject: [PATCH] Removed long checks in MySQL_Variables methods with assert() If any of these variables are NULL, we should fails instead of returning. If should be a serious bug. --- lib/MySQL_Variables.cpp | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/lib/MySQL_Variables.cpp b/lib/MySQL_Variables.cpp index 0cd402ea8..074042673 100644 --- a/lib/MySQL_Variables.cpp +++ b/lib/MySQL_Variables.cpp @@ -140,17 +140,25 @@ bool MySQL_Variables::client_set_value(MySQL_Session* session, int idx, const st } const char* MySQL_Variables::client_get_value(MySQL_Session* session, int idx) const { - if (!session || !session->client_myds || !session->client_myds->myconn) return NULL; + assert(session); + assert(session->client_myds); + assert(session->client_myds->myconn); return session->client_myds->myconn->variables[idx].value; } uint32_t MySQL_Variables::client_get_hash(MySQL_Session* session, int idx) const { - if (!session || !session->client_myds || !session->client_myds->myconn) return 0; + assert(session); + assert(session->client_myds); + assert(session->client_myds->myconn); return session->client_myds->myconn->var_hash[idx]; } void MySQL_Variables::server_set_value(MySQL_Session* session, int idx, const char* value) { - if (!session || !session->mybe || !session->mybe->server_myds || !session->mybe->server_myds->myconn || !value) return; + assert(session); + assert(session->mybe); + assert(session->mybe->server_myds); + assert(session->mybe->server_myds->myconn); + if (!value) return; // FIXME: I am not sure about this implementation . If value == NULL , show the variable be reset? session->mybe->server_myds->myconn->var_hash[idx] = SpookyHash::Hash32(value,strlen(value),10); if (session->mybe->server_myds->myconn->variables[idx].value) { @@ -160,12 +168,18 @@ void MySQL_Variables::server_set_value(MySQL_Session* session, int idx, const ch } const char* MySQL_Variables::server_get_value(MySQL_Session* session, int idx) const { - if (!session || !session->mybe || !session->mybe->server_myds || !session->mybe->server_myds->myconn) return NULL; + assert(session); + assert(session->mybe); + assert(session->mybe->server_myds); + assert(session->mybe->server_myds->myconn); return session->mybe->server_myds->myconn->variables[idx].value; } uint32_t MySQL_Variables::server_get_hash(MySQL_Session* session, int idx) const { - if (!session || !session->mybe || !session->mybe->server_myds || !session->mybe->server_myds->myconn) return 0; + assert(session); + assert(session->mybe); + assert(session->mybe->server_myds); + assert(session->mybe->server_myds->myconn); return session->mybe->server_myds->myconn->var_hash[idx]; }