You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2014/11/07 23:42:41 UTC

svn commit: r1637477 - /pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java

Author: tilman
Date: Fri Nov  7 22:42:41 2014
New Revision: 1637477

URL: http://svn.apache.org/r1637477
Log:
PDFBOX-2470: avoid ClassCastException or NullPointerException in addSignature, as suggested by Huynh and John Hewson

Modified:
    pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java

Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java?rev=1637477&r1=1637476&r2=1637477&view=diff
==============================================================================
--- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java (original)
+++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java Fri Nov  7 22:42:41 2014
@@ -486,15 +486,18 @@ public class PDDocument implements Pagea
               
                         // read and set Appearance Dictionary
                         PDAppearanceDictionary ap = 
-                                new PDAppearanceDictionary((COSDictionary)cosBaseDict.getItem(COSName.AP));
+                                new PDAppearanceDictionary((COSDictionary)cosBaseDict.getDictionaryObject(COSName.AP));
                         ap.getDictionary().setDirect(true);
                         signatureField.getWidget().setAppearance(ap);
               
-                        // read and set AcroForm DefaultRessource
+                        // read and set AcroForm DefaultResource
                         COSBase dr = cosBaseDict.getItem(COSName.DR);
-                        dr.setDirect(true);
-                        dr.setNeedToBeUpdate(true);
-                        acroFormDict.setItem(COSName.DR, dr);
+                        if (dr != null)
+                        {
+                            dr.setDirect(true);
+                            dr.setNeedToBeUpdate(true);
+                            acroFormDict.setItem(COSName.DR, dr);
+                        }
                         sigFieldNotFound=false;
                     }
                 }