View Issue Details

IDProjectCategoryView StatusLast Update
0037287FPCUtilitiespublic2020-06-30 22:33
Reporterchristophe simonsen Assigned ToMarco van de Voort  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Platformtoutes les plateformesOStous les OS 
Product Version3.0.4 
Fixed in Version3.2.0 
Summary0037287: zipper au moyen de zipper.pp un fichier individuel plus gros que FFFFFFFF rend l'archive inutilisable
DescriptionCela concerne l'extension zip64 : des champs supplémentaires ne sont pas correctement renseignés et
la construction du répertoire central de l'archive zip est compromise ce qui fait que à son ouverture un message
archive non valide est émis.
Steps To ReproduceJe joins un projet pour reproduire l'erreur qui est systématique.
TagsNo tags attached.
Fixed in Revision
FPCOldBugId
FPCTarget-
Attached Files

Activities

christophe simonsen

2020-06-30 16:40

reporter  

buginzipperreport.zip (152,946 bytes)

Marco van de Voort

2020-06-30 17:25

manager   ~0123684

The recently released FPC 3.2.0 contains 64-bit fixes, please retest.

Comments from bug archive:

{The problem is about zipper.pp ;
How to reproduct the problem : put one file bigger than $FFFFFFFF in a directory ;
try to zip it by selecting the directory with help of the shell tree view:
- the bug is due to the fact that original size is taken into account initially by
startzipfile to position iszip64.
- in updatezipheader only the compressed size is taken into account to update the extra fields

- the result is that the central directory signature is not found by buildzipdirectory,
  a "list index out of bounds" exception is intercepted (silently or not depending on the user code),
  the archive is created but is not a valid archive.
- my suggestion is to modify the test in updatezipheader :
if (FZip.Size >= $FFFFFFFF) or (Uncompressed_Size=$FFFFFFFF) then ...
in the part "using compression"
- The part "no use of compression" seem also fragile : what if the compressed size is bigger than the uncompressed size ?}

Marco van de Voort

2020-06-30 22:33

manager   ~0123689

I used your demo based but compiled it with 3.2.0 to compress a directory with 2 10GB files.

I then extracted the files with windows explorer and that went fine.

Conclusion: solved in FPC 3.2.0-

Issue History

Date Modified Username Field Change
2020-06-30 16:40 christophe simonsen New Issue
2020-06-30 16:40 christophe simonsen File Added: buginzipperreport.zip
2020-06-30 17:25 Marco van de Voort Assigned To => Marco van de Voort
2020-06-30 17:25 Marco van de Voort Status new => feedback
2020-06-30 17:25 Marco van de Voort FPCTarget => -
2020-06-30 17:25 Marco van de Voort Note Added: 0123684
2020-06-30 22:33 Marco van de Voort Status feedback => resolved
2020-06-30 22:33 Marco van de Voort Resolution open => fixed
2020-06-30 22:33 Marco van de Voort Fixed in Version => 3.2.0
2020-06-30 22:33 Marco van de Voort Note Added: 0123689