From 8f637d401d3788af368ef336db7decb6a144c7ae Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Sat, 10 Nov 2012 14:02:20 +0000 Subject: Fixed a bug introduced in rev 1023 (ThuGie's crash) git-svn-id: http://mc-server.googlecode.com/svn/trunk@1029 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/ByteBuffer.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'source/ByteBuffer.cpp') diff --git a/source/ByteBuffer.cpp b/source/ByteBuffer.cpp index c1ff4c6fd..623b865f4 100644 --- a/source/ByteBuffer.cpp +++ b/source/ByteBuffer.cpp @@ -355,12 +355,15 @@ bool cByteBuffer::ReadBuf(void * a_Buffer, int a_Count) char * Dst = (char *)a_Buffer; // So that we can do byte math int BytesToEndOfBuffer = m_BufferSize - m_ReadPos; ASSERT(BytesToEndOfBuffer >= 0); // Sanity check - if ((BytesToEndOfBuffer > 0) && (BytesToEndOfBuffer < a_Count)) + if (BytesToEndOfBuffer < a_Count) { // Reading across the ringbuffer end, read the first part and adjust parameters: - memcpy(Dst, m_Buffer + m_ReadPos, BytesToEndOfBuffer); - Dst += BytesToEndOfBuffer; - a_Count -= BytesToEndOfBuffer; + if (BytesToEndOfBuffer > 0) + { + memcpy(Dst, m_Buffer + m_ReadPos, BytesToEndOfBuffer); + Dst += BytesToEndOfBuffer; + a_Count -= BytesToEndOfBuffer; + } m_ReadPos = 0; } -- cgit v1.2.3