aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-01-14 04:51:34 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-01-14 04:51:34 +0000
commitec9a859c76ce2819105e704aef892e41fa71877e (patch)
tree006dcc7aac3f10eb87d824f81d4346733a9796a2
parent377b85f2cbdc9f9142594b1a7c1f980c92102fc9 (diff)
downloadruby-ec9a859c76ce2819105e704aef892e41fa71877e.tar.gz
* 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 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog6
-rw-r--r--ext/zlib/zlib.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8e0fc1361f..79a0790867 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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");
}
}