Skip to content

Commit 0de1023

Browse files
committed
PDFBOX-6053: catch negative MCID
git-svn-id: https://svn.apache.org/repos/asf/pdfbox/trunk@1927910 13f79535-47bb-0310-9956-ffa450edef68
1 parent 769b24b commit 0de1023

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDMarkedContentReference.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,10 @@ public int getMCID()
9898
*/
9999
public void setMCID(int mcid)
100100
{
101+
if (mcid < 0)
102+
{
103+
throw new IllegalArgumentException("MCID is negative");
104+
}
101105
this.getCOSObject().setInt(COSName.MCID, mcid);
102106
}
103107

pdfbox/src/test/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElementTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,8 @@ void testSimple()
177177
PDMarkedContent mc2 = PDMarkedContent.create(COSName.S, mcr2.getCOSObject());
178178
structureElement.appendKid(mc2);
179179
PDMarkedContentReference mcrSubZero = new PDMarkedContentReference();
180-
mcrSubZero.setMCID(-1); //TODO should fail
180+
assertThrows(IllegalArgumentException.class, () -> mcrSubZero.setMCID(-1));
181+
mcrSubZero.getCOSObject().setInt(COSName.MCID, -1);
181182
PDMarkedContent mcSubZero = PDMarkedContent.create(COSName.S, mcrSubZero.getCOSObject());
182183
assertThrows(IllegalArgumentException.class, () -> structureElement.appendKid(mcSubZero));
183184
List<Object> kids = structureElement.getKids();

0 commit comments

Comments
 (0)