From cc718435b3455783fba97e1494dea15d603b81fd Mon Sep 17 00:00:00 2001 From: Grzegorz Adam Hankiewicz Date: Sat, 29 Mar 2014 01:14:33 +0100 Subject: [PATCH 1/9] Adds convenience uncompress and inflate procs to zlib. The new uncompress() version doesn't require you to know the size of the inflated destination buffer. The inflate() proc wraps it for convenience on a var string type. --- lib/wrappers/zip/zlib.nim | 134 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) diff --git a/lib/wrappers/zip/zlib.nim b/lib/wrappers/zip/zlib.nim index f505b95a7..a755305e6 100644 --- a/lib/wrappers/zip/zlib.nim +++ b/lib/wrappers/zip/zlib.nim @@ -182,3 +182,137 @@ proc zlibAllocMem*(AppData: Pointer, Items, Size: int): Pointer {.cdecl.} = proc zlibFreeMem*(AppData, `Block`: Pointer) {.cdecl.} = dealloc(`Block`) + +proc uncompress*(sourceBuf: cstring, sourceLen: int): string = + ## Given a deflated cstring returns its inflated version. + ## + ## Passing a nil cstring will crash this proc in release mode and assert in + ## debug mode. + ## + ## Returns nil on problems. Failure is a very loose concept, it could be you + ## passing a non deflated string, or it could mean not having enough memory + ## for the inflated version. + ## + ## The uncompression algorithm is based on + ## http://stackoverflow.com/questions/17820664 but does ignore some of the + ## original signed/unsigned checks, so may fail with big chunks of data + ## exceeding the positive size of an int32. The algorithm can deal with + ## concatenated deflated values properly. + assert (not sourceBuf.isNil) + + var z: TZStream + # Initialize input. + z.next_in = sourceBuf + + # Input left to decompress. + var left = zlib.Uint(sourceLen) + if left < 1: + # Incomplete gzip stream, or overflow? + return + + # Create starting space for output (guess double the input size, will grow if + # needed -- in an extreme case, could end up needing more than 1000 times the + # input size) + var space = zlib.Uint(left shl 1) + if space < left: + space = left + + var decompressed = newStringOfCap(space) + + # Initialize output. + z.next_out = addr(decompressed[0]) + # Output generated so far. + var have = 0 + + # Set up for gzip decoding. + z.avail_in = 0; + var status = inflateInit2(z, (15+16)) + if status != Z_OK: + # Out of memory. + return + + # Decompress all of self. + while true: + # Allow for concatenated gzip streams (per RFC 1952). + if status == Z_STREAM_END: + discard inflateReset(z) + + # Provide input for inflate. + if z.avail_in == 0: + # This only makes sense in the C version using unsigned values. + z.avail_in = left + left -= z.avail_in + + # Decompress the available input. + while true: + # Allocate more output space if none left. + if space == have: + # Double space, handle overflow. + space = space shl 1 + if space < have: + # Space was likely already maxed out. + discard inflateEnd(z) + return + + # Increase space. + decompressed.setLen(space) + # Update output pointer (might have moved). + z.next_out = addr(decompressed[have]) + + # Provide output space for inflate. + z.avail_out = zlib.Uint(space - have) + have += z.avail_out; + + # Inflate and update the decompressed size. + status = inflate(z, Z_SYNC_FLUSH); + have -= z.avail_out; + + # Bail out if any errors. + if status != Z_OK and status != Z_BUF_ERROR and status != Z_STREAM_END: + # Invalid gzip stream. + discard inflateEnd(z) + return + + # Repeat until all output is generated from provided input (note + # that even if z.avail_in is zero, there may still be pending + # output -- we're not done until the output buffer isn't filled) + if z.avail_out != 0: + break + # Continue until all input consumed. + if left == 0 and z.avail_in == 0: + break + # Free the memory allocated by inflateInit2(). + discard inflateEnd(z) + + # Verify that the input is a valid gzip stream. + if status != Z_STREAM_END: + # Incomplete gzip stream. + return nil + + decompressed.setLen(have) + result = decompressed + + +proc inflate*(buffer: var string) = + ## Convenience proc which inflates a string containing compressed data. + ## + ## Passing a nil string will crash this proc in release mode and assert in + ## debug mode. It is ok to pass a buffer which doesn't contain deflated data, + ## in this case the proc won't modify the buffer. To check if data was + ## inflated compare the final length of the `buffer` with its original value. + ## Example: + ## + ## .. code-block:: nimrod + ## var data: string + ## # Put something into data. + ## let originalLen = len(data) + ## data.inflate() + ## if originalLen != len(data): + ## echo "Data was inflated!" + ## else: + ## echo "Nothing to inflate" + assert (not buffer.isNil) + if buffer.len < 1: return + let temp = uncompress(addr(buffer[0]), buffer.len) + if not temp.isNil: + buffer = temp From d41988d8b25ffd42c8b1dd4b4626a2933db500de Mon Sep 17 00:00:00 2001 From: Grzegorz Adam Hankiewicz Date: Sat, 29 Mar 2014 12:23:21 +0100 Subject: [PATCH 2/9] Modifies inflate() to return a discardable bool. Refs #1048. --- lib/wrappers/zip/zlib.nim | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/lib/wrappers/zip/zlib.nim b/lib/wrappers/zip/zlib.nim index a755305e6..f09b8b97a 100644 --- a/lib/wrappers/zip/zlib.nim +++ b/lib/wrappers/zip/zlib.nim @@ -293,26 +293,17 @@ proc uncompress*(sourceBuf: cstring, sourceLen: int): string = result = decompressed -proc inflate*(buffer: var string) = +proc inflate*(buffer: var string): bool {.discardable.} = ## Convenience proc which inflates a string containing compressed data. ## ## Passing a nil string will crash this proc in release mode and assert in ## debug mode. It is ok to pass a buffer which doesn't contain deflated data, - ## in this case the proc won't modify the buffer. To check if data was - ## inflated compare the final length of the `buffer` with its original value. - ## Example: + ## in this case the proc won't modify the buffer. ## - ## .. code-block:: nimrod - ## var data: string - ## # Put something into data. - ## let originalLen = len(data) - ## data.inflate() - ## if originalLen != len(data): - ## echo "Data was inflated!" - ## else: - ## echo "Nothing to inflate" + ## Returns true if `buffer` was successfully inflated. assert (not buffer.isNil) if buffer.len < 1: return let temp = uncompress(addr(buffer[0]), buffer.len) if not temp.isNil: buffer = temp + result = true From a6f8bae69f36a582c0eb55988c1441421a3c042e Mon Sep 17 00:00:00 2001 From: Grzegorz Adam Hankiewicz Date: Sat, 29 Mar 2014 12:27:18 +0100 Subject: [PATCH 3/9] Uses swap() to avoid variable copies. Refs #1048. --- lib/wrappers/zip/zlib.nim | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/wrappers/zip/zlib.nim b/lib/wrappers/zip/zlib.nim index f09b8b97a..2d8ac9058 100644 --- a/lib/wrappers/zip/zlib.nim +++ b/lib/wrappers/zip/zlib.nim @@ -287,10 +287,10 @@ proc uncompress*(sourceBuf: cstring, sourceLen: int): string = # Verify that the input is a valid gzip stream. if status != Z_STREAM_END: # Incomplete gzip stream. - return nil + return decompressed.setLen(have) - result = decompressed + swap(result, decompressed) proc inflate*(buffer: var string): bool {.discardable.} = @@ -303,7 +303,7 @@ proc inflate*(buffer: var string): bool {.discardable.} = ## Returns true if `buffer` was successfully inflated. assert (not buffer.isNil) if buffer.len < 1: return - let temp = uncompress(addr(buffer[0]), buffer.len) + var temp = uncompress(addr(buffer[0]), buffer.len) if not temp.isNil: - buffer = temp + swap(buffer, temp) result = true From 20e55fc5d411dbe92e839fcaa8474ecb6e92e96a Mon Sep 17 00:00:00 2001 From: Grzegorz Adam Hankiewicz Date: Sat, 29 Mar 2014 12:29:17 +0100 Subject: [PATCH 4/9] Uses finally as statement to release zlib memory. Refs #1048. --- lib/wrappers/zip/zlib.nim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/wrappers/zip/zlib.nim b/lib/wrappers/zip/zlib.nim index 2d8ac9058..cb61783d2 100644 --- a/lib/wrappers/zip/zlib.nim +++ b/lib/wrappers/zip/zlib.nim @@ -231,6 +231,9 @@ proc uncompress*(sourceBuf: cstring, sourceLen: int): string = # Out of memory. return + # Make sure memory allocated by inflateInit2() is freed eventually. + finally: discard inflateEnd(z) + # Decompress all of self. while true: # Allow for concatenated gzip streams (per RFC 1952). @@ -281,8 +284,6 @@ proc uncompress*(sourceBuf: cstring, sourceLen: int): string = # Continue until all input consumed. if left == 0 and z.avail_in == 0: break - # Free the memory allocated by inflateInit2(). - discard inflateEnd(z) # Verify that the input is a valid gzip stream. if status != Z_STREAM_END: From f3d7c452d2a90cc2a5a825f65eba5cf4838abe24 Mon Sep 17 00:00:00 2001 From: Ron Leisti Date: Sat, 29 Mar 2014 19:51:56 -0400 Subject: [PATCH 5/9] events.TEventEmitter.emit no longer throws an exception if the named event does not exist --- lib/pure/events.nim | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/pure/events.nim b/lib/pure/events.nim index e76b846cf..5830d9109 100644 --- a/lib/pure/events.nim +++ b/lib/pure/events.nim @@ -68,7 +68,7 @@ proc clearHandlers*(handler: var TEventHandler) = ## Clears all of the callbacks from the event handler. setLen(handler.handlers, 0) -proc getEventhandler(emitter: var TEventEmitter, event: string): int = +proc getEventHandler(emitter: var TEventEmitter, event: string): int = for k in 0..high(emitter.s): if emitter.s[k].name == event: return k return -1 @@ -94,8 +94,6 @@ proc emit*(emitter: var TEventEmitter, event: string, args: TEventArgs) = var i = getEventHandler(emitter, event) if i >= 0: emit(emitter, emitter.s[i], args) - else: - raise newException(EInvalidEvent, "invalid event: " & event) proc initEventEmitter*(): TEventEmitter = ## Creates and returns a new EventEmitter. From b919ab790b7ed1cf6ca65c582b255cce2ea1618a Mon Sep 17 00:00:00 2001 From: EXetoC Date: Mon, 31 Mar 2014 14:11:21 +0200 Subject: [PATCH 6/9] Implement overflow/underflow checking for the VM. --- compiler/vm.nim | 55 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 49 insertions(+), 6 deletions(-) diff --git a/compiler/vm.nim b/compiler/vm.nim index 0d5386502..7355e85fe 100644 --- a/compiler/vm.nim +++ b/compiler/vm.nim @@ -495,18 +495,46 @@ proc rawExecute(c: PCtx, start: int, tos: PStackFrame): TFullReg = else: stackTrace(c, tos, pc, errNilAccess) of opcAddInt: decodeBC(rkInt) - regs[ra].intVal = regs[rb].intVal + regs[rc].intVal + let + bVal = regs[rb].intVal + cVal = regs[rc].intVal + sum = bVal +% cVal + if (sum xor bVal) >= 0 or (sum xor cVal) >= 0: + regs[ra].intVal = sum + else: + stackTrace(c, tos, pc, errOverOrUnderflow) of opcAddImmInt: decodeBImm(rkInt) #message(c.debug[pc], warnUser, "came here") #debug regs[rb].node - regs[ra].intVal = regs[rb].intVal + imm + let + bVal = regs[rb].intVal + cVal = imm + sum = bVal +% cVal + if (sum xor bVal) >= 0 or (sum xor cVal) >= 0: + regs[ra].intVal = sum + else: + stackTrace(c, tos, pc, errOverOrUnderflow) of opcSubInt: decodeBC(rkInt) - regs[ra].intVal = regs[rb].intVal - regs[rc].intVal + let + bVal = regs[rb].intVal + cVal = regs[rc].intVal + diff = bVal -% cVal + if (diff xor bVal) >= 0 or (diff xor not cVal) >= 0: + regs[ra].intVal = diff + else: + stackTrace(c, tos, pc, errOverOrUnderflow) of opcSubImmInt: decodeBImm(rkInt) - regs[ra].intVal = regs[rb].intVal - imm + let + bVal = regs[rb].intVal + cVal = imm + diff = bVal -% cVal + if (diff xor bVal) >= 0 or (diff xor not cVal) >= 0: + regs[ra].intVal = diff + else: + stackTrace(c, tos, pc, errOverOrUnderflow) of opcLenSeq: decodeBImm(rkInt) #assert regs[rb].kind == nkBracket @@ -539,7 +567,18 @@ proc rawExecute(c: PCtx, start: int, tos: PStackFrame): TFullReg = regs[ra].intVal = nimsets.cardSet(regs[rb].node) of opcMulInt: decodeBC(rkInt) - regs[ra].intVal = regs[rb].intVal * regs[rc].intVal + let + bVal = regs[rb].intVal + cVal = regs[rc].intVal + product = bVal *% cVal + floatProd = toBiggestFloat(bVal) * toBiggestFloat(cVal) + resAsFloat = toBiggestFloat(product) + if resAsFloat == floatProd: + regs[ra].intVal = product + elif 32.0 * abs(resAsFloat - floatProd) <= abs(floatProd): + regs[ra].intVal = product + else: + stackTrace(c, tos, pc, errOverOrUnderflow) of opcDivInt: decodeBC(rkInt) if regs[rc].intVal == 0: stackTrace(c, tos, pc, errConstantDivisionByZero) @@ -632,7 +671,11 @@ proc rawExecute(c: PCtx, start: int, tos: PStackFrame): TFullReg = of opcUnaryMinusInt: decodeB(rkInt) assert regs[rb].kind == rkInt - regs[ra].intVal = -regs[rb].intVal + let val = regs[rb].intVal + if val != int64.low: + regs[ra].intVal = -val + else: + stackTrace(c, tos, pc, errOverOrUnderflow) of opcUnaryMinusFloat: decodeB(rkFloat) assert regs[rb].kind == rkFloat From 52c6956d1ae0cbc0d5f75f95047a9ea58220b358 Mon Sep 17 00:00:00 2001 From: EXetoC Date: Mon, 31 Mar 2014 14:50:44 +0200 Subject: [PATCH 7/9] Add underflow/overflow tests. --- tests/vm/toverflowopcaddimmint.nim | 11 +++++++++++ tests/vm/toverflowopcaddint.nim | 12 ++++++++++++ tests/vm/toverflowopcmulint | Bin 0 -> 159438 bytes tests/vm/toverflowopcmulint.nim | 11 +++++++++++ tests/vm/toverflowopcsubimmint.nim | 10 ++++++++++ tests/vm/toverflowopcsubint.nim | 12 ++++++++++++ 6 files changed, 56 insertions(+) create mode 100644 tests/vm/toverflowopcaddimmint.nim create mode 100644 tests/vm/toverflowopcaddint.nim create mode 100755 tests/vm/toverflowopcmulint create mode 100644 tests/vm/toverflowopcmulint.nim create mode 100644 tests/vm/toverflowopcsubimmint.nim create mode 100644 tests/vm/toverflowopcsubint.nim diff --git a/tests/vm/toverflowopcaddimmint.nim b/tests/vm/toverflowopcaddimmint.nim new file mode 100644 index 000000000..c36b9ed9b --- /dev/null +++ b/tests/vm/toverflowopcaddimmint.nim @@ -0,0 +1,11 @@ +discard """ + errormsg: "over- or underflow" +""" + +static: + proc p = + var + x = int64.high + discard x + 1 + assert false + p() diff --git a/tests/vm/toverflowopcaddint.nim b/tests/vm/toverflowopcaddint.nim new file mode 100644 index 000000000..6d96afc78 --- /dev/null +++ b/tests/vm/toverflowopcaddint.nim @@ -0,0 +1,12 @@ +discard """ + errormsg: "over- or underflow" +""" + +static: + proc p = + var + x = int64.high + y = 1 + discard x + y + assert false + p() diff --git a/tests/vm/toverflowopcmulint b/tests/vm/toverflowopcmulint new file mode 100755 index 0000000000000000000000000000000000000000..220d9a87c77bf81225481736ebbda9dac6dc591a GIT binary patch literal 159438 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 Date: Mon, 31 Mar 2014 14:52:16 +0200 Subject: [PATCH 8/9] Remove executable. --- tests/vm/toverflowopcmulint | Bin 159438 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 tests/vm/toverflowopcmulint diff --git a/tests/vm/toverflowopcmulint b/tests/vm/toverflowopcmulint deleted file mode 100755 index 220d9a87c77bf81225481736ebbda9dac6dc591a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159438 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 Date: Mon, 31 Mar 2014 21:38:35 +0200 Subject: [PATCH 9/9] Fix some tests. --- tests/array/tarrayplus.nim | 2 +- tests/generics/tbadgenericlambda.nim | 2 +- tests/generics/tmetafield.nim | 6 +++--- tests/showoff/tdrdobbs_examples.nim | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/array/tarrayplus.nim b/tests/array/tarrayplus.nim index 9e08bbb0a..0ea349f4f 100644 --- a/tests/array/tarrayplus.nim +++ b/tests/array/tarrayplus.nim @@ -1,5 +1,5 @@ discard """ - errmsg: "type mismatch: got (array[0..2, float], array[0..1, float])" + errormsg: "type mismatch: got (array[0..2, float], array[0..1, float])" """ proc `+`*[R, T] (v1, v2: array[R, T]): array[R, T] = diff --git a/tests/generics/tbadgenericlambda.nim b/tests/generics/tbadgenericlambda.nim index 38e7f6cd7..2ab8e724d 100644 --- a/tests/generics/tbadgenericlambda.nim +++ b/tests/generics/tbadgenericlambda.nim @@ -1,5 +1,5 @@ discard """ - errmsg: "nested proc can have generic parameters only when" + errormsg: "nested proc can have generic parameters only when" line: 6 """ diff --git a/tests/generics/tmetafield.nim b/tests/generics/tmetafield.nim index 8e7f26549..f2fac8fdd 100644 --- a/tests/generics/tmetafield.nim +++ b/tests/generics/tmetafield.nim @@ -1,8 +1,8 @@ discard """ cmd: "nimrod check $# $#" - errmsg: "'proc' is not a concrete type" - errmsg: "'Foo' is not a concrete type." - errmsg: "invalid type: 'TBaseMed'" + errormsg: "'proc' is not a concrete type" + errormsg: "'Foo' is not a concrete type." + errormsg: "invalid type: 'TBaseMed'" """ type diff --git a/tests/showoff/tdrdobbs_examples.nim b/tests/showoff/tdrdobbs_examples.nim index 0b3d86a05..8a39990ba 100644 --- a/tests/showoff/tdrdobbs_examples.nim +++ b/tests/showoff/tdrdobbs_examples.nim @@ -1,7 +1,7 @@ discard """ output: '''108 11 -1 1936 -4.0000000000000002e-001 +4.0000000000000002e-01 true truefalse''' """