diff --git a/common/memory_buffer.cpp b/common/memory_buffer.cpp index 0910289e2..4f47867d8 100644 --- a/common/memory_buffer.cpp +++ b/common/memory_buffer.cpp @@ -52,6 +52,10 @@ EQEmu::MemoryBuffer::MemoryBuffer(MemoryBuffer &&other) { } EQEmu::MemoryBuffer& EQEmu::MemoryBuffer::operator=(const MemoryBuffer &other) { + if(this == &other) { + return *this; + } + if(buffer_) { delete[] buffer_; } diff --git a/tests/memory_buffer_test.h b/tests/memory_buffer_test.h index 9d6c0cec7..0da7d01be 100644 --- a/tests/memory_buffer_test.h +++ b/tests/memory_buffer_test.h @@ -458,7 +458,7 @@ private: mb2 = mb2; void *addr2 = (void*)mb2; - TEST_ASSERT(addr != addr2); + TEST_ASSERT(addr == addr2); mb2 = std::move(mb2); addr2 = (void*)mb2;