From 15d4229e208865eb495002ffc1a907f37feedebd Mon Sep 17 00:00:00 2001 From: Kakhnovich Raman Date: Thu, 6 Aug 2026 17:13:14 +0300 Subject: [PATCH 1/3] Fix NPE in clipToMediaBox() --- src/main/java/org/verapdf/pd/PDAnnotation.java | 3 ++- src/main/java/org/verapdf/pd/PDPage.java | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/verapdf/pd/PDAnnotation.java b/src/main/java/org/verapdf/pd/PDAnnotation.java index c372715d..6a112b16 100644 --- a/src/main/java/org/verapdf/pd/PDAnnotation.java +++ b/src/main/java/org/verapdf/pd/PDAnnotation.java @@ -285,7 +285,8 @@ public PD3DStream get3DD() { public static Boolean isOutsideCropBox(PDPage page, PDAnnotation annotation) { double[] cropBox = page.getCropBox(); double[] rectangle = annotation.getRect(); - if (rectangle != null && rectangle.length >= 4) { + if (rectangle != null && rectangle.length >= 4 + && cropBox != null && cropBox.length >= 4) { return cropBox[1] >= rectangle[3] || cropBox[0] >= rectangle[2] || cropBox[3] <= rectangle[1] || cropBox[2] <= rectangle[0]; } diff --git a/src/main/java/org/verapdf/pd/PDPage.java b/src/main/java/org/verapdf/pd/PDPage.java index dc946149..c9f5eb8a 100644 --- a/src/main/java/org/verapdf/pd/PDPage.java +++ b/src/main/java/org/verapdf/pd/PDPage.java @@ -148,6 +148,9 @@ public double[] getArtBox() { private double[] clipToMediaBox(double[] box) { double[] res = new double[4]; double[] mediaBox = getMediaBox(); + if (mediaBox == null) { + return null; + } res[0] = Math.max(box[0], mediaBox[0]); res[1] = Math.max(box[1], mediaBox[1]); res[2] = Math.min(box[2], mediaBox[2]); From 3031e7d6910872bfad4b0ea3a4b41ed2d9e0b6a9 Mon Sep 17 00:00:00 2001 From: Kakhnovich Raman Date: Thu, 6 Aug 2026 17:26:00 +0300 Subject: [PATCH 2/3] Update PDPage.java --- src/main/java/org/verapdf/pd/PDPage.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/verapdf/pd/PDPage.java b/src/main/java/org/verapdf/pd/PDPage.java index c9f5eb8a..47445b86 100644 --- a/src/main/java/org/verapdf/pd/PDPage.java +++ b/src/main/java/org/verapdf/pd/PDPage.java @@ -149,7 +149,7 @@ private double[] clipToMediaBox(double[] box) { double[] res = new double[4]; double[] mediaBox = getMediaBox(); if (mediaBox == null) { - return null; + return box; } res[0] = Math.max(box[0], mediaBox[0]); res[1] = Math.max(box[1], mediaBox[1]); From 8e0e172ab5d3838ef9ab07cfb21b27368086ffc3 Mon Sep 17 00:00:00 2001 From: Kakhnovich Raman Date: Thu, 6 Aug 2026 17:41:50 +0300 Subject: [PATCH 3/3] Update PDPage.java --- src/main/java/org/verapdf/pd/PDPage.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/org/verapdf/pd/PDPage.java b/src/main/java/org/verapdf/pd/PDPage.java index 47445b86..dc9940f4 100644 --- a/src/main/java/org/verapdf/pd/PDPage.java +++ b/src/main/java/org/verapdf/pd/PDPage.java @@ -151,6 +151,9 @@ private double[] clipToMediaBox(double[] box) { if (mediaBox == null) { return box; } + if (box == null) { + return mediaBox; + } res[0] = Math.max(box[0], mediaBox[0]); res[1] = Math.max(box[1], mediaBox[1]); res[2] = Math.min(box[2], mediaBox[2]);