aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMachiavelli <none@none>2010-09-24 22:36:35 +0200
committerMachiavelli <none@none>2010-09-24 22:36:35 +0200
commite3bf89b6f703fe4f82a7ee1990cb6cc0237603ac (patch)
treeb7e879dfb13887855c0e2804d3b2138deff73f91 /src
parent3c6dc320308880bde4ef9eddd695db28a74aa0d9 (diff)
Core/DBLayer:
- Fix memory leak introduced in previous rev - Fix linux compile, thanks to Playon for reporting --HG-- branch : trunk
Diffstat (limited to 'src')
-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];