From 299989f3aa72b4bb0558ce5dbe7043dc83a4d2a5 Mon Sep 17 00:00:00 2001 From: Dominik Picheta Date: Fri, 13 May 2016 13:41:46 +0100 Subject: Restore sanity check for bytesReceived in asyncdispatch. --- lib/pure/asyncdispatch.nim | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/pure') 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)): -- cgit 1.4.1-2-gfad0