diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ext/zlib/zlib.c | 2 |
2 files changed, 7 insertions, 1 deletions
@@ -1,3 +1,9 @@ +Fri Jan 14 13:38:58 2011 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/zlib/zlib.c (gzfile_check_footer): ISIZE (Input SIZE) in + gzip's header is the size of uncompressed input data modulo 2^32. + [ruby-core:34481] http://www.ietf.org/rfc/rfc1952.txt + Fri Jan 14 11:36:25 2011 NAKAMURA Usaku <usa@ruby-lang.org> * configure.in, win32/Makefile.sub (RUNRUBY): require path should diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c index 40a2c79e60..36fc29fa18 100644 --- a/ext/zlib/zlib.c +++ b/ext/zlib/zlib.c @@ -2169,7 +2169,7 @@ gzfile_check_footer(struct gzfile *gz) if (gz->crc != crc) { rb_raise(cCRCError, "invalid compressed data -- crc error"); } - if (gz->z.stream.total_out != length) { + if ((int32_t)gz->z.stream.total_out != length) { rb_raise(cLengthError, "invalid compressed data -- length error"); } } |