You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tika.apache.org by "Doug Martin (JIRA)" <ji...@apache.org> on 2013/10/01 20:59:23 UTC

[jira] [Commented] (TIKA-1176) ChmDirectoryListingSet does not correctly enumerate directory entries

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

Doug Martin commented on TIKA-1176:
-----------------------------------

The following change fixes the problem:
{code}
                if (indexUserData < indexWorkData || indexWorkData == -1) {
                    setPlaceHolder(indexUserData);
                } else {
                    setPlaceHolder(indexWorkData);
                }
{code}

> ChmDirectoryListingSet does not correctly enumerate directory entries
> ---------------------------------------------------------------------
>
>                 Key: TIKA-1176
>                 URL: https://issues.apache.org/jira/browse/TIKA-1176
>             Project: Tika
>          Issue Type: Bug
>          Components: parser
>    Affects Versions: 1.4
>            Reporter: Doug Martin
>
> ChmDirectoryListingSet.enumerateOneSegment method does not correctly enumerate directory entries when ChmCommons.indexOf returns -1 for work data or user data.  Here is the offending code:
> {code}
>                 int indexWorkData = ChmCommons.indexOf(dir_chunk,
>                         "::".getBytes());
>                 int indexUserData = ChmCommons.indexOf(dir_chunk,
>                         "/".getBytes());
>                 if (indexUserData < indexWorkData)
>                     setPlaceHolder(indexUserData);
>                 else
>                     setPlaceHolder(indexWorkData);
>                 if (getPlaceHolder() > 0 ...
> {code}
> If either indexUserData or indexWorkData is -1, that value will be set as the placeholder index, resulting in the method returning without processing any entries.



--
This message was sent by Atlassian JIRA
(v6.1#6144)