aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/authserver/Server/AuthSocket.cpp4
-rw-r--r--src/server/shared/Database/QueryResult.cpp8
-rwxr-xr-xsrc/server/shared/Database/QueryResult.h1
3 files changed, 11 insertions, 2 deletions
diff --git a/src/server/authserver/Server/AuthSocket.cpp b/src/server/authserver/Server/AuthSocket.cpp
index b58082594d4..7029f53386e 100644
--- a/src/server/authserver/Server/AuthSocket.cpp
+++ b/src/server/authserver/Server/AuthSocket.cpp
@@ -389,7 +389,7 @@ bool AuthSocket::_HandleLogonChallenge()
{
sLog.outStaticDebug("[AuthChallenge] Account '%s' is locked to IP - '%s'", _login.c_str(), res2->GetString(3));
sLog.outStaticDebug("[AuthChallenge] Player address is '%s'", ip_address.c_str());
- if (strcmp(res2->GetString(3).c_str(), ip_address.c_str()))
+ if (strcmp(res2->GetCString(3), ip_address.c_str()))
{
sLog.outStaticDebug("[AuthChallenge] Account IP differs");
pkt << (uint8) WOW_FAIL_SUSPENDED;
@@ -753,7 +753,7 @@ bool AuthSocket::_HandleReconnectChallenge()
return false;
}
- K.SetHexStr (result->GetString(0).c_str());
+ K.SetHexStr (result->GetCString(0));
///- Sending response
ByteBuffer pkt;
diff --git a/src/server/shared/Database/QueryResult.cpp b/src/server/shared/Database/QueryResult.cpp
index 9a0cf6293c6..18866e49fac 100644
--- a/src/server/shared/Database/QueryResult.cpp
+++ b/src/server/shared/Database/QueryResult.cpp
@@ -260,6 +260,14 @@ std::string PreparedResultSet::GetString(uint32 index)
return std::string(static_cast<char const*>(rbind->m_rBind[index].buffer), *rbind->m_rBind[index].length);
}
+const char* PreparedResultSet::GetCString(uint32 index)
+{
+ if (!CheckFieldIndex(index))
+ return '\0';
+
+ return static_cast<char const*>(rbind->m_rBind[index].buffer);
+}
+
bool PreparedResultSet::NextRow()
{
if (row_position >= num_rows)
diff --git a/src/server/shared/Database/QueryResult.h b/src/server/shared/Database/QueryResult.h
index bb1a4684acc..805d31f3629 100755
--- a/src/server/shared/Database/QueryResult.h
+++ b/src/server/shared/Database/QueryResult.h
@@ -211,6 +211,7 @@ class PreparedResultSet
int64 GetInt64(uint32 index);
float GetFloat(uint32 index);
std::string GetString(uint32 index);
+ const char* GetCString(uint32 index);
bool NextRow();