From 20e55fc5d411dbe92e839fcaa8474ecb6e92e96a Mon Sep 17 00:00:00 2001 From: Grzegorz Adam Hankiewicz Date: Sat, 29 Mar 2014 12:29:17 +0100 Subject: Uses finally as statement to release zlib memory. Refs #1048. --- lib/wrappers/zip/zlib.nim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'lib') 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: -- cgit 1.4.1-2-gfad0