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

Gary Murphy commented on TIKA-1250:
-----------------------------------

The process is looping in ChmLzxBlock around line 613.  I put in this hack to 
allow the process continue, but I wouldn't expect this to be the correct 
solution:

                    int iterations = 0;
                    do {
                        x++;
                        z <<= 1;
                        z += getChmSection().checkBit(x);
                        iterations++;
                        if (iterations > 1024) {
                           throw new TikaException("Data cycle in the file 
contents");
                        }
                    } while ((z = pretreetable[z]) >= 
ChmConstants.LZX_MAINTREE_TABLEBITS);

I have a file that will reproduce the problem, but I don't see now to attach 
this to the record.

> Process loops infintely processing a CHM file
> ---------------------------------------------
>
>                 Key: TIKA-1250
>                 URL: https://issues.apache.org/jira/browse/TIKA-1250
>             Project: Tika
>          Issue Type: Bug
>          Components: parser
>    Affects Versions: 1.5
>         Environment: Java 7 on Linux
>            Reporter: Gary Murphy
>            Priority: Critical
>
> Parsing process loops infinitely on certain CHM files.  This is NOT the same 
> as TIKA-1152



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to