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 2024/08/02 03:55:49 UTC

svn commit: r1919632 - in /pdfbox/branches/2.0/pdfbox/src: main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java test/java/org/apache/pdfbox/pdmodel/interactive/form/CombAlignmentTest.java

Author: tilman
Date: Fri Aug  2 03:55:48 2024
New Revision: 1919632

URL: http://svn.apache.org/viewvc?rev=1919632&view=rev
Log:
PDFBOX-5859: avoid NPE or StringIndexOutOfBoundsException

Modified:
    pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java
    pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/CombAlignmentTest.java

Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java?rev=1919632&r1=1919631&r2=1919632&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java Fri Aug  2 03:55:48 2024
@@ -659,7 +659,12 @@ class AppearanceGeneratorHelper {
      * @throws IOException
      */
     private void insertGeneratedCombAppearance(PDPageContentStream contents, PDAppearanceStream appearanceStream,
-            PDFont font, float fontSize) throws IOException {
+            PDFont font, float fontSize) throws IOException
+    {
+        if (value == null || value.isEmpty())
+        {
+            return;
+        }
         int maxLen = ((PDTextField) field).getMaxLen();
         int quadding = field.getQ();
         int numChars = Math.min(value.length(), maxLen);

Modified: pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/CombAlignmentTest.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/CombAlignmentTest.java?rev=1919632&r1=1919631&r2=1919632&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/CombAlignmentTest.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/CombAlignmentTest.java Fri Aug  2 03:55:48 2024
@@ -48,10 +48,13 @@ public class CombAlignmentTest
         PDDocument document = PDDocument.load(new File(IN_DIR, NAME_OF_PDF));
         PDAcroForm acroForm = document.getDocumentCatalog().getAcroForm();
         PDField field = acroForm.getField("PDFBoxCombLeft");
+        field.setValue("");
         field.setValue(TEST_VALUE);
         field = acroForm.getField("PDFBoxCombMiddle");
+        field.setValue("");
         field.setValue(TEST_VALUE);
         field = acroForm.getField("PDFBoxCombRight");
+        field.setValue("");
         field.setValue(TEST_VALUE);
         // compare rendering
         File file = new File(OUT_DIR, NAME_OF_PDF);