You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Avi (Jira)" <ji...@apache.org> on 2022/05/13 07:45:00 UTC

[jira] [Created] (COMPRESS-620) ArchiveInputStream fails reading filenames with ANSI characters

Avi created COMPRESS-620:
----------------------------

             Summary: ArchiveInputStream fails reading filenames with ANSI characters
                 Key: COMPRESS-620
                 URL: https://issues.apache.org/jira/browse/COMPRESS-620
             Project: Commons Compress
          Issue Type: Bug
          Components: Archivers
    Affects Versions: 1.21
            Reporter: Avi


I attempted to extract ANSI art packs from [SixteenColors ANSI archive|https://github.com/sixteencolors/sixteencolors-archive] but many of them fail.

 

Upon some debugging it appears that as many of the file names contain ANSI characters which are parsed by the ArchiveInputStream as question marks, the file fails to be saved to disk as question mark is a bad character to be had in a filename.

Specific code:

ArchiveInputStream archiveInputStream = archiveStreamFactory.createArchiveInputStream(ArchiveStreamFactory.ZIP, inputStream);
ArchiveEntry archiveEntry = null;
while((archiveEntry = archiveInputStream.getNextEntry()) != null) {
Path path = Paths.get(extractDirectory, archiveEntry.getName());


example of a non parseable filename in an archive:

https://github.com/sixteencolors/sixteencolors-archive/blob/master/1992/ace-r%232.zip

A∙C∙E.ANS

Bad ZIP file example:



--
This message was sent by Atlassian Jira
(v8.20.7#820007)