summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorDominik Picheta <dominikpicheta@gmail.com>2016-05-13 13:41:46 +0100
committerDominik Picheta <dominikpicheta@gmail.com>2016-05-13 13:41:46 +0100
commit299989f3aa72b4bb0558ce5dbe7043dc83a4d2a5 (patch)
treedc947432536574d0f2385c116d05bd7bac498ec8
parent373c47ba70f970a76088edcfcc1c018dc61587c4 (diff)
downloadNim-299989f3aa72b4bb0558ce5dbe7043dc83a4d2a5.tar.gz
Restore sanity check for bytesReceived in asyncdispatch.
-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)):