Skip to content

Commit 53202e2

Browse files
committed
PDFBOX-5939: ignore outline that is its own parent
git-svn-id: https://svn.apache.org/repos/asf/pdfbox/trunk@1923379 13f79535-47bb-0310-9956-ffa450edef68
1 parent 207335a commit 53202e2

File tree

1 file changed

+9
-0
lines changed
  • pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/documentnavigation/outline

1 file changed

+9
-0
lines changed

pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/documentnavigation/outline/PDOutlineNode.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
*/
1717
package org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline;
1818

19+
import org.apache.logging.log4j.LogManager;
20+
import org.apache.logging.log4j.Logger;
1921

2022
import org.apache.pdfbox.cos.COSDictionary;
2123
import org.apache.pdfbox.cos.COSName;
@@ -28,6 +30,7 @@
2830
*/
2931
public abstract class PDOutlineNode extends PDDictionaryWrapper
3032
{
33+
private static final Logger LOG = LogManager.getLogger(PDOutlineNode.class);
3134

3235
/**
3336
* Default Constructor.
@@ -283,6 +286,12 @@ void updateParentOpenCount(int delta)
283286
PDOutlineNode parent = getParent();
284287
if (parent != null)
285288
{
289+
if (getCOSObject() == parent.getCOSObject())
290+
{
291+
// PDFBOX-5939
292+
LOG.warn("Outline parent points to itself");
293+
return;
294+
}
286295
if (parent.isNodeOpen())
287296
{
288297
parent.setOpenCount(parent.getOpenCount() + delta);

0 commit comments

Comments
 (0)