DotNetZip.Semverd icon indicating copy to clipboard operation
DotNetZip.Semverd copied to clipboard

masked Exception thrown: 'Ionic.Zip.BadReadException' in DotNetZip.dll

Open seligam opened this issue 7 years ago • 2 comments

same problem is also with ionic.zip.dll 1.9.1.8

when zip file is incomplete in just the right way then row using (ZipFile zipFile = new ZipFile("file.zip)) writes Exception thrown: 'Ionic.Zip.BadReadException' in DotNetZip.dll into output - but thats it. everything continues as if nothing happened. zipFile.ExtractAll extracts all files which are complete and silently ignores that there was any problem

unfortunately it doesn't happen with every damaged zip file. one I have, i cannot send you, because of its content which doesn't belongh to me and is confidental. if i create another zip file and just removed some bytes from the end, then it is behaving correctly, Ionic.Zip.BadReadException was followed by two Ionic.Zip.ZipException and exception was thrown

my guess is that somewhere in the code Ionic.Zip.BadReadException in caught and not rethrown, it must be some very special case

my guess is ReadIntoInstance_Orig(ZipFile zf) which does // read the zipfile's central directory structure here. // workitem 9912 // But, because it may be corrupted, ignore errors. ... catch (ZipException) { } catch (IOException) { }

seligam avatar Mar 22 '18 10:03 seligam

if it helps then for this file gnu unzip writes

End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive.

seligam avatar Mar 22 '18 11:03 seligam

Thanks for reporting this bug/problem, and sorry about the delay in getting back to you. This is a self-service repository, where I merge PRs and where the merging of PRs causes nugets to be pushed automatically (if you bump the version number in your PR). I'll leave this issue open until someone (or yourself) fixes it.

haf avatar Nov 13 '18 07:11 haf