summaryrefslogtreecommitdiffstats
path: root/lib/libarchive
diff options
context:
space:
mode:
authorkientzle <kientzle@FreeBSD.org>2009-05-23 04:31:05 +0000
committerkientzle <kientzle@FreeBSD.org>2009-05-23 04:31:05 +0000
commit040089ea0825fa08d374d75dc9d9c66e489dae6f (patch)
tree610bbc6ce395aa187c800964c778f94da3144351 /lib/libarchive
parent61593f7616befd790de8b3c3f529ac4d6f90b0e2 (diff)
downloadFreeBSD-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/libarchive')
-rw-r--r--lib/libarchive/archive_read_support_compression_gzip.c1
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. */
OpenPOWER on IntegriCloud