diff options
Diffstat (limited to 'src/zip/driver.rs')
| -rw-r--r-- | src/zip/driver.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/zip/driver.rs b/src/zip/driver.rs index e276844..c76d071 100644 --- a/src/zip/driver.rs +++ b/src/zip/driver.rs | |||
| @@ -120,15 +120,17 @@ impl<Io: Read + Seek> ArchiveRead for Zip<Io> { | |||
| 120 | match header.id { | 120 | match header.id { |
| 121 | 0x0001 => { | 121 | 0x0001 => { |
| 122 | if size == 0xFFFFFFFF { | 122 | if size == 0xFFFFFFFF { |
| 123 | compressed_size = deserialize(&extra_fields[ep..ep + 8]).unwrap(); | 123 | compressed_size = |
| 124 | u64::from_le_bytes(extra_fields[ep..ep + 8].try_into().unwrap()); | ||
| 124 | ep += 8; | 125 | ep += 8; |
| 125 | } | 126 | } |
| 126 | if compressed_size == 0xFFFFFFFF { | 127 | if compressed_size == 0xFFFFFFFF { |
| 127 | size = deserialize(&extra_fields[ep..ep + 8]).unwrap(); | 128 | size = u64::from_le_bytes(extra_fields[ep..ep + 8].try_into().unwrap()); |
| 128 | ep += 8; | 129 | ep += 8; |
| 129 | } | 130 | } |
| 130 | if header_pointer == 0xFFFFFFFF { | 131 | if header_pointer == 0xFFFFFFFF { |
| 131 | header_pointer = deserialize(&extra_fields[ep..ep + 8]).unwrap(); | 132 | header_pointer = |
| 133 | u64::from_le_bytes(extra_fields[ep..ep + 8].try_into().unwrap()); | ||
| 132 | ep += 8; | 134 | ep += 8; |
| 133 | } | 135 | } |
| 134 | if cdr.disk == 0xFFFF { | 136 | if cdr.disk == 0xFFFF { |
