Author: tilman Date: Thu May 17 19:40:17 2018 New Revision: 1831804 URL: http://svn.apache.org/viewvc?rev=1831804&view=rev Log: PDFBOX-4222: skip bad page label entry
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java?rev=1831804&r1=1831803&r2=1831804&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java Thu May 17 19:40:17 2018 @@ -609,7 +609,13 @@ public class PDFMergerUtility { for (int i = 0; i < srcNums.size(); i += 2) { - COSNumber labelIndex = (COSNumber) srcNums.getObject(i); + COSBase base = srcNums.getObject(i); + if (!(base instanceof COSNumber)) + { + LOG.warn("page labels skipped at index " + i + ", should be a number, but is " + base); + break; + } + COSNumber labelIndex = (COSNumber) base; long labelIndexValue = labelIndex.intValue(); destNums.add(COSInteger.get(labelIndexValue + destPageCount)); destNums.add(cloner.cloneForNewDocument(srcNums.getObject(i + 1)));