You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2022/12/31 11:58:38 UTC

svn commit: r1906294 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFileAttachmentAppearanceHandler.java

Author: lehmi
Date: Sat Dec 31 11:58:37 2022
New Revision: 1906294

URL: http://svn.apache.org/viewvc?rev=1906294&view=rev
Log:
PDFBOX-5555: avoid NPE if the rectangle is missing or malformed

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFileAttachmentAppearanceHandler.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFileAttachmentAppearanceHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFileAttachmentAppearanceHandler.java?rev=1906294&r1=1906293&r2=1906294&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFileAttachmentAppearanceHandler.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFileAttachmentAppearanceHandler.java Sat Dec 31 11:58:37 2022
@@ -48,14 +48,17 @@ public class PDFileAttachmentAppearanceH
     public void generateNormalAppearance()
     {
         PDAnnotationFileAttachment annotation = (PDAnnotationFileAttachment) getAnnotation();
-
+        PDRectangle rect = getRectangle();
+        if (rect == null)
+        {
+            return;
+        }
         try (PDAppearanceContentStream contentStream = getNormalAppearanceAsContentStream())
         {
             setOpacity(contentStream, annotation.getConstantOpacity());
 
             // minimum code of PDTextAppearanceHandler.adjustRectAndBBox() 
             int size = 18;
-            PDRectangle rect = getRectangle();
             rect.setUpperRightX(rect.getLowerLeftX() + size);
             rect.setLowerLeftY(rect.getUpperRightY() - size);
             annotation.setRectangle(rect);