diff options
author | Dominik Picheta <dominikpicheta@gmail.com> | 2016-05-13 13:41:46 +0100 |
---|---|---|
committer | Dominik Picheta <dominikpicheta@gmail.com> | 2016-05-13 13:41:46 +0100 |
commit | 299989f3aa72b4bb0558ce5dbe7043dc83a4d2a5 (patch) | |
tree | dc947432536574d0f2385c116d05bd7bac498ec8 | |
parent | 373c47ba70f970a76088edcfcc1c018dc61587c4 (diff) | |
download | Nim-299989f3aa72b4bb0558ce5dbe7043dc83a4d2a5.tar.gz |
Restore sanity check for bytesReceived in asyncdispatch.
-rw-r--r-- | lib/pure/asyncdispatch.nim | 4 |
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)): |