aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/shared/Database/Field.cpp2
-rw-r--r--src/server/shared/Database/QueryResult.cpp6
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];