From 1d1cf000c023b77721ad8cb226330ca6a72a1acc Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Sun, 24 Jun 2018 14:35:29 +0200 Subject: Fix rtt >= 0.0f assertion and free_move crash --- src/network/connectionthreads.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/network') diff --git a/src/network/connectionthreads.cpp b/src/network/connectionthreads.cpp index 9d948c59a..c4e512119 100644 --- a/src/network/connectionthreads.cpp +++ b/src/network/connectionthreads.cpp @@ -1167,7 +1167,7 @@ SharedBuffer ConnectionReceiveThread::handlePacketType_Control(Channel *chan // a overflow is quite unlikely but as it'd result in major // rtt miscalculation we handle it here - float rtt; + float rtt = 0.0f; if (current_time > p.absolute_send_time) { rtt = (current_time - p.absolute_send_time) / 1000.0f; } else if (p.totaltime > 0) { @@ -1176,7 +1176,8 @@ SharedBuffer ConnectionReceiveThread::handlePacketType_Control(Channel *chan // Let peer calculate stuff according to it // (avg_rtt and resend_timeout) - dynamic_cast(peer)->reportRTT(rtt); + if (rtt != 0.0f) + dynamic_cast(peer)->reportRTT(rtt); } // put bytes for max bandwidth calculation channel->UpdateBytesSent(p.data.getSize(), 1); -- cgit v1.2.3