mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2026-10-24 04:03:07 +00:00
fixed possible m_PacketACKIntervalRem overflow
This commit is contained in:
1 parent
01240f75ab
commit
8affeb074f
1 file changed
+5
-1
@@ -1173,7 +1173,11 @@ namespace stream
|
||||
if (m_LastACKSendTime)
|
||||
passedTime = (ts - m_LastACKSendTime)*1000; // in microseconds
|
||||
numPackets = (passedTime + m_PacketACKIntervalRem) / m_PacketACKInterval;
|
||||
m_PacketACKIntervalRem = (passedTime + m_PacketACKIntervalRem) - (numPackets * m_PacketACKInterval);
|
||||
int64_t delta = numPackets * m_PacketACKInterval - passedTime;
|
||||
if (delta < (int64_t)m_PacketACKIntervalRem)
|
||||
m_PacketACKIntervalRem -= delta;
|
||||
else
|
||||
m_PacketACKIntervalRem = 0;
|
||||
if (m_LastConfirmedReceivedSequenceNumber + numPackets < m_LastReceivedSequenceNumber)
|
||||
{
|
||||
lastReceivedSeqn = m_LastConfirmedReceivedSequenceNumber + numPackets;
|
||||
|
||||
Reference in new issue
Block a user