1
0

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
This commit is contained in:
madmaxoft@gmail.com 2012-11-10 14:02:20 +00:00
parent 8e84cbc083
commit 8f637d401d

View File

@ -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 char * Dst = (char *)a_Buffer; // So that we can do byte math
int BytesToEndOfBuffer = m_BufferSize - m_ReadPos; int BytesToEndOfBuffer = m_BufferSize - m_ReadPos;
ASSERT(BytesToEndOfBuffer >= 0); // Sanity check 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: // Reading across the ringbuffer end, read the first part and adjust parameters:
memcpy(Dst, m_Buffer + m_ReadPos, BytesToEndOfBuffer); if (BytesToEndOfBuffer > 0)
Dst += BytesToEndOfBuffer; {
a_Count -= BytesToEndOfBuffer; memcpy(Dst, m_Buffer + m_ReadPos, BytesToEndOfBuffer);
Dst += BytesToEndOfBuffer;
a_Count -= BytesToEndOfBuffer;
}
m_ReadPos = 0; m_ReadPos = 0;
} }