Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Factory
unzip
unzip60-total_disks_zero.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File unzip60-total_disks_zero.patch of Package unzip
Index: unzip60/process.c =================================================================== --- unzip60.orig/process.c +++ unzip60/process.c @@ -1286,7 +1286,8 @@ static int find_ecrec64(__G__ searchlen) G.ecrec.number_this_disk, ecloc64_total_disks); fflush(stdout); #endif if ((G.ecrec.number_this_disk != 0xFFFF) && - (G.ecrec.number_this_disk != ecloc64_total_disks - 1)) { + (G.ecrec.number_this_disk != ecloc64_total_disks - 1) && + (ecloc64_total_disks != 0)) { /* Note: For some unknown reason, the developers at PKWARE decided to store the "zip64 total disks" value as a counter starting from 1, whereas all other "split/span volume" related fields use 0-based @@ -1296,6 +1297,9 @@ static int find_ecrec64(__G__ searchlen) When this is not the case, the found ecrec64 locator cannot be valid. -> This is not a Zip64 archive. */ + /* There are archive creators that put 0 in total disks when it should + be 1. We should handle this. This is done by the added check above. + */ Trace((stderr, "\ninvalid ECLOC64, differing disk# (ECR %u, ECL64 %lu)\n", G.ecrec.number_this_disk, ecloc64_total_disks - 1));
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor