patch 9.1.0639: channel timeout may wrap around
Problem: channel timeout may wrap around
Solution: Correct timeout calculation when GetTickCount() wraps around
(Ken Takata)
closes: #15390
Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/channel.c b/src/channel.c
index b99b3a9..69bbff2 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -2277,7 +2277,7 @@
{
int timeout;
#ifdef MSWIN
- timeout = GetTickCount() > chanpart->ch_deadline;
+ timeout = (int)(GetTickCount() - chanpart->ch_deadline) > 0;
#else
{
struct timeval now_tv;