summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--lib/pure/asyncdispatch.nim4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/pure/asyncdispatch.nim b/lib/pure/asyncdispatch.nim
index 019c81edd..8345d43e5 100644
--- a/lib/pure/asyncdispatch.nim
+++ b/lib/pure/asyncdispatch.nim
@@ -660,8 +660,10 @@ when defined(windows) or defined(nimdoc):
         else:
           retFuture.fail(newException(OSError, osErrorMsg(err)))
     elif ret == 0:
+      # Request completed immediately.
       if bytesReceived != 0:
         var data = newString(bytesReceived)
+        assert bytesReceived <= size
         copyMem(addr data[0], addr dataBuf.buf[0], bytesReceived)
         retFuture.complete($data)
       else:
@@ -730,7 +732,9 @@ when defined(windows) or defined(nimdoc):
         else:
           retFuture.fail(newException(OSError, osErrorMsg(err)))
     elif ret == 0:
+      # Request completed immediately.
       if bytesReceived != 0:
+        assert bytesReceived <= size
         retFuture.complete(bytesReceived)
       else:
         if hasOverlappedIoCompleted(cast[POVERLAPPED](ol)):