diff --git a/lib/libarchive/archive_read_support_compression_gzip.c b/lib/libarchive/archive_read_support_compression_gzip.c index 50da5ba9158..8a80866feac 100644 --- a/lib/libarchive/archive_read_support_compression_gzip.c +++ b/lib/libarchive/archive_read_support_compression_gzip.c @@ -426,7 +426,7 @@ drive_decompressor(struct archive *a, struct private_data *state) */ case 11: /* Optional Extra: Second byte of Length. */ if ((flags & 4)) { - count = (count << 8) | (255 & (int)b); + count = (0xff00 & ((int)b << 8)) | count; header_state = 12; break; }