From 77479f01dc23bf12154d287628eea2725a92e35e Mon Sep 17 00:00:00 2001 From: Bradley Grainger Date: Thu, 28 Dec 2023 16:21:57 -0800 Subject: [PATCH] Disallow negative RemainingTimeout. Fixes #1424 --- src/MySqlConnector/Protocol/Serialization/StreamByteHandler.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/MySqlConnector/Protocol/Serialization/StreamByteHandler.cs b/src/MySqlConnector/Protocol/Serialization/StreamByteHandler.cs index 9dc68a06e..7bf4e0998 100644 --- a/src/MySqlConnector/Protocol/Serialization/StreamByteHandler.cs +++ b/src/MySqlConnector/Protocol/Serialization/StreamByteHandler.cs @@ -18,8 +18,9 @@ public StreamByteHandler(Stream stream) public ValueTask ReadBytesAsync(Memory buffer, IOBehavior ioBehavior) { - return ioBehavior == IOBehavior.Asynchronous ? new ValueTask(DoReadBytesAsync(buffer)) : + return RemainingTimeout <= 0 ? ValueTaskExtensions.FromException(MySqlException.CreateForTimeout()) : + ioBehavior == IOBehavior.Asynchronous ? new ValueTask(DoReadBytesAsync(buffer)) : m_stream.CanTimeout ? DoReadBytesSync(buffer) : DoReadBytesSyncOverAsync(buffer);