[ https://issues.apache.org/jira/browse/TIKA-788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13643932#comment-13643932 ]
Claus Köll commented on TIKA-788: --------------------------------- Could someone have a look at the provided patch please. greets > DWG parser infinite loop on possibly corrupt file > ------------------------------------------------- > > Key: TIKA-788 > URL: https://issues.apache.org/jira/browse/TIKA-788 > Project: Tika > Issue Type: Bug > Components: parser > Affects Versions: 1.0 > Reporter: Stas Shaposhnikov > > When parsing some dwg items, it is possible that the parser may cause itself > to go into an infinite loop. > Attached is the file causing the problem. > Here is a possible patch that will at least proceed until an error is thrown. > {noformat} > === modified file > 'tika-parsers/src/main/java/org/apache/tika/parser/dwg/DWGParser.java' > --- tika-parsers/src/main/java/org/apache/tika/parser/dwg/DWGParser.java > 2011-11-24 11:30:33 +0000 > +++ tika-parsers/src/main/java/org/apache/tika/parser/dwg/DWGParser.java > 2011-11-25 05:27:41 +0000 > @@ -274,8 +274,10 @@ > return false; > } > while (toSkip > 0) { > - byte[] skip = new byte[Math.min((int) toSkip, 0x4000)]; > - IOUtils.readFully(stream, skip); > + byte[] skip = new byte[(int) Math.min(toSkip, 0x4000)]; > + if (IOUtils.readFully(stream, skip) == -1) { > + return false; //invalid skip > + } > toSkip -= skip.length; > } > return true; > {noformat} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira