Author: tpalsulich
Date: Wed Mar 4 21:41:44 2015
New Revision: 1664157
URL: http://svn.apache.org/r1664157
Log:
TIKA-1038. Fix possible infinite recursion while parsing some PDFs.
Modified:
tika/trunk/CHANGES.txt
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pdf/PDFParser.java
Modified: tika/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/tika/trunk/CHANGES.txt?rev=1664157&r1=1664156&r2=1664157&view=diff
==============================================================================
--- tika/trunk/CHANGES.txt (original)
+++ tika/trunk/CHANGES.txt Wed Mar 4 21:41:44 2015
@@ -1,5 +1,7 @@
Release 1.8 - Current Development
+ * Fixed infinite recursion while parsing some PDFs (TIKA-1038).
+
* XHTMLContentHandler now properly passes along body attributes,
contributed by Markus Jelsma (TIKA-995).
Modified:
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pdf/PDFParser.java
URL:
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pdf/PDFParser.java?rev=1664157&r1=1664156&r2=1664157&view=diff
==============================================================================
---
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pdf/PDFParser.java
(original)
+++
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pdf/PDFParser.java
Wed Mar 4 21:41:44 2015
@@ -473,7 +473,10 @@ public class PDFParser extends AbstractP
}
} else if(value instanceof COSString) {
addMetadata(metadata, name, ((COSString)value).getString());
- } else if (value != null) {
+ }
+ // Avoid calling COSDictionary#toString, since it can lead to infinite
+ // recursion. See TIKA-1038 and PDFBOX-1835.
+ else if (value != null && !(value instanceof COSDictionary)) {
addMetadata(metadata, name, value.toString());
}
}