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

Peter Lee commented on COMPRESS-591:
------------------------------------

Hi [~larhzu]

Thank you for your reporting.

I noticed that there are some `downsides` to enable this. I would prefer to 
introduce a new option to enable this, but not to enable this by default.

BTW, a PR in github is always welcome.

> Fix decoding of 7z files containing LZMA streams with end marker
> ----------------------------------------------------------------
>
>                 Key: COMPRESS-591
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-591
>             Project: Commons Compress
>          Issue Type: Bug
>          Components: Archivers
>    Affects Versions: 1.21
>            Reporter: Lasse Collin
>            Priority: Major
>         Attachments: lzma-with-eos.7z
>
>
> Some uncommon but valid .7z files contain LZMA streams that use the end of 
> stream marker. Currently Commons Compress together with XZ for Java considers 
> such files to be corrupt.
> XZ for Java 1.9 added a new method 
> [LZMAInputStream.enableRelaxedEndCondition()|https://tukaani.org/xz/xz-javadoc/org/tukaani/xz/LZMAInputStream.html#enableRelaxedEndCondition()]
>  specifically for this issue. To use this feature in Commons Compress, a 
> change is needed to the "decode" function in 
> src/main/java/org/apache/commons/compress/archivers/sevenz/LZMADecoder.java:
> {{- return new LZMAInputStream(in, uncompressedLength, propsByte, dictSize);}}
>  {{+ final LZMAInputStream lzmaIn = new LZMAInputStream(in, 
> uncompressedLength, propsByte, dictSize);}}
>  {{+ lzmaIn.enableRelaxedEndCondition();}}
>  {{+ return lzmaIn;}}
> A tiny test file is attached (thanks to Simon for providing it). Another test 
> file "sheet.7z" can be found from 
> <[https://sourceforge.net/p/lzmautils/discussion/708858/thread/822d80d5ea/]>.
> XZ for Java 1.9 is already a few months old, so I apologize for not reporting 
> this earlier.



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

Reply via email to