You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "A Kelday (Jira)" <ji...@apache.org> on 2021/06/14 12:09:00 UTC

[jira] [Commented] (COMPRESS-514) SevenZFile fails with encoded header over 2GiB

    [ https://issues.apache.org/jira/browse/COMPRESS-514?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17362915#comment-17362915 ] 

A Kelday commented on COMPRESS-514:
-----------------------------------

Hi,

I see there's a new github comment about rebasing the current (very old) PR. I'll hopefully have some time to look at this again soon, but I no longer have the "test case" 7zip to work with. It contained 3rd party data which cannot be retained or shared, plus it was over 1TB.

I'll attempt to create a smaller test case 7zip which reproduces the original problem, but it could take some time since it probably requires at least 20 million central directory paths.

> SevenZFile fails with encoded header over 2GiB
> ----------------------------------------------
>
>                 Key: COMPRESS-514
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-514
>             Project: Commons Compress
>          Issue Type: Bug
>          Components: Archivers
>    Affects Versions: 1.20
>            Reporter: A Kelday
>            Priority: Minor
>         Attachments: HeaderChannelBuffer.java
>
>          Time Spent: 2h
>  Remaining Estimate: 0h
>
> When reading what some may call a large encrypted 7zip file (1.2TB with 22 million files), the read fails at the header stage with the trace below. Is this within the spec? I've written some code to handle it, because I did actually need to extract the file in java. If that's of any use I can provide it (it's a naive wrapper that just pages in a buffer at a time).
>  
> {code:java}
> Exception in thread "main" java.io.IOException: Cannot handle unpackSize2416988886
> at org.apache.commons.compress.archivers.sevenz.SevenZFile.assertFitsIntoInt(SevenZFile.java:1523)
> at org.apache.commons.compress.archivers.sevenz.SevenZFile.readEncodedHeader(SevenZFile.java:622)
> at org.apache.commons.compress.archivers.sevenz.SevenZFile.initializeArchive(SevenZFile.java:532)
> at org.apache.commons.compress.archivers.sevenz.SevenZFile.readHeaders(SevenZFile.java:468)
> at org.apache.commons.compress.archivers.sevenz.SevenZFile.<init>(SevenZFile.java:337)
> at org.apache.commons.compress.archivers.sevenz.SevenZFile.<init>(SevenZFile.java:129)
> at org.apache.commons.compress.archivers.sevenz.SevenZFile.<init>(SevenZFile.java:116)
> {code}
> 7zip itself can also open it (and display/extract etc.), here are the stats:
>  
>  
> {code:java}
> Size: 2 489 903 580 875
> Packed Size: 1 349 110 308 832
> Folders: 40 005
> Files: 22 073 957
> CRC: E26F6A96
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)