Skip to content

Commit e0ad406

Browse files
committed
Disallow negative RemainingTimeout. Fixes #447
1 parent e79e819 commit e0ad406

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/MySqlConnector/Protocol/Serialization/SocketByteHandler.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ ValueTask<int> DoReadBytesSync(ArraySegment<byte> buffer_)
5555
async Task<int> DoReadBytesAsync(ArraySegment<byte> buffer_)
5656
{
5757
var startTime = RemainingTimeout == Constants.InfiniteTimeout ? 0 : Environment.TickCount;
58-
var timerId = RemainingTimeout == Constants.InfiniteTimeout ? 0 : TimerQueue.Instance.Add(RemainingTimeout, m_closeSocket);
58+
var timerId = RemainingTimeout == Constants.InfiniteTimeout ? 0 :
59+
RemainingTimeout <= 0 ? throw MySqlException.CreateForTimeout() :
60+
TimerQueue.Instance.Add(RemainingTimeout, m_closeSocket);
5961
m_socketAwaitable.EventArgs.SetBuffer(buffer_.Array, buffer_.Offset, buffer_.Count);
6062
int bytesRead;
6163
try

0 commit comments

Comments
 (0)