From 7d9d346dff06509917d081efca131b072da18672 Mon Sep 17 00:00:00 2001 From: cxl Date: Fri, 31 Jan 2014 14:33:58 +0000 Subject: [PATCH] plugin/zip: UnZip now ignoring local headers git-svn-id: svn://ultimatepp.org/upp/trunk@6837 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/plugin/zip/UnZip.cpp | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/uppsrc/plugin/zip/UnZip.cpp b/uppsrc/plugin/zip/UnZip.cpp index ee3cb6204..76a96d038 100644 --- a/uppsrc/plugin/zip/UnZip.cpp +++ b/uppsrc/plugin/zip/UnZip.cpp @@ -100,18 +100,12 @@ bool UnZip::ReadFile(Stream& out, Gate2 progress) if(zip->Get32le() != 0x04034b50) return false; int ver = zip->Get16le(); - if(zip->Get16le() != f.bit) - return false; - if(zip->Get16le() != f.method) - return false; - if(zip->Get32le() != f.time) - return false; - if(zip->Get32le() != f.crc) - return false; - if(zip->Get32le() != f.csize) - return false; - if(zip->Get32le() != f.usize) - return false; + zip->Get16le(); // Skip header, use info from centrall dir + zip->Get16le(); + zip->Get32le(); + zip->Get32le(); + zip->Get32le(); + zip->Get32le(); dword filelen = zip->Get16le(); dword extralen = zip->Get16le(); zip->SeekCur(filelen + extralen);