diff options
-rw-r--r-- | src/server/shared/Database/Field.cpp | 2 | ||||
-rw-r--r-- | src/server/shared/Database/QueryResult.cpp | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/server/shared/Database/Field.cpp b/src/server/shared/Database/Field.cpp index 9ef23f3ad17..f1f9df6f1f7 100644 --- a/src/server/shared/Database/Field.cpp +++ b/src/server/shared/Database/Field.cpp @@ -50,7 +50,7 @@ void Field::SetStructuredValue(char* newValue, enum_field_types newType, const s { size_t size = strlen(newValue); data.value = new char [size+1]; - strcpy(data.value, newValue); + memcpy(data.value, newValue, size); data.length = size; } diff --git a/src/server/shared/Database/QueryResult.cpp b/src/server/shared/Database/QueryResult.cpp index b6a4e8477c9..bd02e11385c 100644 --- a/src/server/shared/Database/QueryResult.cpp +++ b/src/server/shared/Database/QueryResult.cpp @@ -44,6 +44,12 @@ m_rowPosition(0) if (!m_res) return; + if (m_stmt->bind_result_done) + { + delete[] m_stmt->bind->length; + delete[] m_stmt->bind->is_null; + } + m_rBind = new MYSQL_BIND[m_fieldCount]; m_isNull = new my_bool[m_fieldCount]; m_length = new unsigned long[m_fieldCount]; |