diff options
author | kientzle <kientzle@FreeBSD.org> | 2009-05-23 04:31:05 +0000 |
---|---|---|
committer | kientzle <kientzle@FreeBSD.org> | 2009-05-23 04:31:05 +0000 |
commit | 040089ea0825fa08d374d75dc9d9c66e489dae6f (patch) | |
tree | 610bbc6ce395aa187c800964c778f94da3144351 /lib | |
parent | 61593f7616befd790de8b3c3f529ac4d6f90b0e2 (diff) | |
download | FreeBSD-src-040089ea0825fa08d374d75dc9d9c66e489dae6f.zip FreeBSD-src-040089ea0825fa08d374d75dc9d9c66e489dae6f.tar.gz |
Include the 2 byte length field for the optional "extra data"
field when computing the length of the gzip header.
Thanks to Dag-Erling for pointing me to the OpenSSH tarballs,
which are the first files I've seen that actually used this field.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libarchive/archive_read_support_compression_gzip.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/libarchive/archive_read_support_compression_gzip.c b/lib/libarchive/archive_read_support_compression_gzip.c index 14535405..b20c769 100644 --- a/lib/libarchive/archive_read_support_compression_gzip.c +++ b/lib/libarchive/archive_read_support_compression_gzip.c @@ -148,6 +148,7 @@ peek_at_header(struct archive_read_filter *filter, int *pbits) if (p == NULL) return (0); len += ((int)p[len + 1] << 8) | (int)p[len]; + len += 2; } /* Null-terminated optional filename. */ |