diff options
| author | Machiavelli <none@none> | 2010-09-24 22:36:35 +0200 |
|---|---|---|
| committer | Machiavelli <none@none> | 2010-09-24 22:36:35 +0200 |
| commit | e3bf89b6f703fe4f82a7ee1990cb6cc0237603ac (patch) | |
| tree | b7e879dfb13887855c0e2804d3b2138deff73f91 /src | |
| parent | 3c6dc320308880bde4ef9eddd695db28a74aa0d9 (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.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]; |
