aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/file_wrappers.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2011-05-09 17:53:45 +0000
committerGuy Harris <guy@alum.mit.edu>2011-05-09 17:53:45 +0000
commitf4a752873fcf3e30828467016bd5ebcd6dd933c1 (patch)
treede3b7335162e77cfb3e69b6a54f94caf3ce362b7 /wiretap/file_wrappers.c
parent5a4598a1c419c7deafdb0429c6dddd347f4c4e83 (diff)
Note that compressed Windows Sniffer files might have a CRC, just not
one computed the right way (as specified by RFC 1952). svn path=/trunk/; revision=37032
Diffstat (limited to 'wiretap/file_wrappers.c')
-rw-r--r--wiretap/file_wrappers.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/wiretap/file_wrappers.c b/wiretap/file_wrappers.c
index bd4207d885..31c70f7638 100644
--- a/wiretap/file_wrappers.c
+++ b/wiretap/file_wrappers.c
@@ -506,6 +506,15 @@ zlib_read(FILE_T state, unsigned char *buf, unsigned int count)
if (ret == Z_STREAM_END) {
if (gz_next4(state, &crc) != -1 &&
gz_next4(state, &len) != -1) {
+ /*
+ * XXX - compressed Windows Sniffer don't
+ * all have the same CRC value; is it just
+ * random crap, or are they running the
+ * CRC on a different set of data than
+ * you're supposed to (e.g., not CRCing
+ * some of the data), or something such
+ * as that?
+ */
if (crc != strm->adler && !state->dont_check_crc) {
state->err = WTAP_ERR_DECOMPRESS;
state->err_info = "bad CRC";