mirror of
https://github.com/shadps4-emu/ext-cryptopp.git
synced 2024-11-23 09:59:42 +00:00
fix extraneous FinalizeLazyPut in NetworkSink::Put2 in case of exceptions
This commit is contained in:
parent
3b1e3952c9
commit
ea453ec4c6
@ -195,7 +195,7 @@ unsigned int NetworkSink::Put2(const byte *inString, unsigned int length, int me
|
||||
inString += m_skipBytes;
|
||||
length -= m_skipBytes;
|
||||
}
|
||||
LazyPutter lp(m_buffer, inString, length);
|
||||
m_buffer.LazyPut(inString, length);
|
||||
|
||||
if (!blocking || m_buffer.CurrentSize() > m_autoFlushBound)
|
||||
TimedFlush(0, 0);
|
||||
@ -209,10 +209,13 @@ unsigned int NetworkSink::Put2(const byte *inString, unsigned int length, int me
|
||||
assert(!blocking);
|
||||
unsigned int blockedBytes = STDMIN(m_buffer.CurrentSize() - targetSize, (unsigned long)length);
|
||||
m_buffer.UndoLazyPut(blockedBytes);
|
||||
m_buffer.FinalizeLazyPut();
|
||||
m_wasBlocked = true;
|
||||
m_skipBytes += length - blockedBytes;
|
||||
return STDMAX(blockedBytes, 1U);
|
||||
}
|
||||
|
||||
m_buffer.FinalizeLazyPut();
|
||||
m_wasBlocked = false;
|
||||
m_skipBytes = 0;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user