Restore sanity check for bytesReceived in asyncdispatch.

This commit is contained in:
Dominik Picheta 2016-05-13 13:41:46 +01:00
commit 299989f3aa

View file

@ -660,8 +660,10 @@ when defined(windows) or defined(nimdoc):
else: else:
retFuture.fail(newException(OSError, osErrorMsg(err))) retFuture.fail(newException(OSError, osErrorMsg(err)))
elif ret == 0: elif ret == 0:
# Request completed immediately.
if bytesReceived != 0: if bytesReceived != 0:
var data = newString(bytesReceived) var data = newString(bytesReceived)
assert bytesReceived <= size
copyMem(addr data[0], addr dataBuf.buf[0], bytesReceived) copyMem(addr data[0], addr dataBuf.buf[0], bytesReceived)
retFuture.complete($data) retFuture.complete($data)
else: else:
@ -730,7 +732,9 @@ when defined(windows) or defined(nimdoc):
else: else:
retFuture.fail(newException(OSError, osErrorMsg(err))) retFuture.fail(newException(OSError, osErrorMsg(err)))
elif ret == 0: elif ret == 0:
# Request completed immediately.
if bytesReceived != 0: if bytesReceived != 0:
assert bytesReceived <= size
retFuture.complete(bytesReceived) retFuture.complete(bytesReceived)
else: else:
if hasOverlappedIoCompleted(cast[POVERLAPPED](ol)): if hasOverlappedIoCompleted(cast[POVERLAPPED](ol)):