diff --git a/src/gz/bufread.rs b/src/gz/bufread.rs index e19c717a..b331d438 100644 --- a/src/gz/bufread.rs +++ b/src/gz/bufread.rs @@ -303,7 +303,7 @@ impl Read for GzDecoder { if *pos < buf.len() { *pos += read_into(self.reader.get_mut().get_mut(), &mut buf[*pos..])?; } else { - let (crc, amt) = finish(&buf); + let (crc, amt) = finish(buf); if crc != self.reader.crc().sum() || amt != self.reader.crc().amount() { self.state = GzState::End(Some(mem::take(header))); diff --git a/src/gz/mod.rs b/src/gz/mod.rs index 3a24a754..79b957d6 100644 --- a/src/gz/mod.rs +++ b/src/gz/mod.rs @@ -402,8 +402,7 @@ impl GzBuilder { let mut header = vec![0u8; 10]; if let Some(v) = extra { flg |= FEXTRA; - header.push((v.len() >> 0) as u8); - header.push((v.len() >> 8) as u8); + header.extend((v.len() as u16).to_le_bytes()); header.extend(v); } if let Some(filename) = filename {