From 3f9faa3a5a6976dafe5499770b70dc0a56da0e93 Mon Sep 17 00:00:00 2001 From: Lynix Date: Wed, 19 Jun 2013 14:33:06 +0200 Subject: [PATCH] Fixed stack corruption Former-commit-id: 0ec71c8cc8f69d3dbf3b8ffda6556a9eebfeac1e --- src/Nazara/Core/ByteArray.cpp | 2 +- src/Nazara/Core/String.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Nazara/Core/ByteArray.cpp b/src/Nazara/Core/ByteArray.cpp index f85123019..3f4669fed 100644 --- a/src/Nazara/Core/ByteArray.cpp +++ b/src/Nazara/Core/ByteArray.cpp @@ -134,7 +134,7 @@ NzByteArray& NzByteArray::Insert(int pos, const nzUInt8* buffer, unsigned int le { EnsureOwnership(); - std::memmove(&m_sharedArray->buffer[start+length], &m_sharedArray->buffer[start], m_sharedArray->size); + std::memmove(&m_sharedArray->buffer[start+length], &m_sharedArray->buffer[start], m_sharedArray->size - start); std::memcpy(&m_sharedArray->buffer[start], buffer, length); m_sharedArray->size += length; diff --git a/src/Nazara/Core/String.cpp b/src/Nazara/Core/String.cpp index 4d4eb5296..61526d29e 100644 --- a/src/Nazara/Core/String.cpp +++ b/src/Nazara/Core/String.cpp @@ -1893,7 +1893,7 @@ unsigned int NzString::GetWordPosition(unsigned int index, nzUInt32 flags) const NzString& NzString::Insert(int pos, char character) { - return Insert(pos, &character); + return Insert(pos, &character, 1); } NzString& NzString::Insert(int pos, const char* string) @@ -1916,7 +1916,7 @@ NzString& NzString::Insert(int pos, const char* string, unsigned int length) { EnsureOwnership(); - std::memmove(&m_sharedString->string[start+length], &m_sharedString->string[start], m_sharedString->size); + std::memmove(&m_sharedString->string[start+length], &m_sharedString->string[start], m_sharedString->size - start); std::memcpy(&m_sharedString->string[start], string, length); m_sharedString->size += length;