aboutsummaryrefslogtreecommitdiff
path: root/src/zip/driver.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/zip/driver.rs')
-rw-r--r--src/zip/driver.rs6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/zip/driver.rs b/src/zip/driver.rs
index 0502c85..b44c453 100644
--- a/src/zip/driver.rs
+++ b/src/zip/driver.rs
@@ -145,12 +145,10 @@ impl<Io: Read + Seek> ArchiveRead for Zip<Io> {
145 ); 145 );
146 146
147 for i in 0..cd_records as usize { 147 for i in 0..cd_records as usize {
148 let buf = cd_reader.read_arr::<46>()?; 148 if cd_reader.read_arr()? != CDR_SIGNATURE {
149
150 if buf[..4] != CDR_SIGNATURE {
151 return Err(ZipError::InvalidSignature("Cdr")); 149 return Err(ZipError::InvalidSignature("Cdr"));
152 } 150 }
153 let cdr: Cdr = deserialize(&buf[4..46]).unwrap(); 151 let cdr: Cdr = deserialize(&cd_reader.read_arr::<42>()?).unwrap();
154 let bit_flag = BitFlag::new(cdr.bit_flag); 152 let bit_flag = BitFlag::new(cdr.bit_flag);
155 153
156 let name = cd_reader.read_vec(cdr.name_len as usize)?; 154 let name = cd_reader.read_vec(cdr.name_len as usize)?;