Author: tilman
Date: Fri Aug  2 03:55:58 2024
New Revision: 1919634

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

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

Modified: 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java
URL: 
http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java?rev=1919634&r1=1919633&r2=1919634&view=diff
==============================================================================
--- 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java
 (original)
+++ 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java
 Fri Aug  2 03:55:58 2024
@@ -709,6 +709,10 @@ class AppearanceGeneratorHelper
     private void insertGeneratedCombAppearance(PDAppearanceContentStream 
contents, PDAppearanceStream appearanceStream,
             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/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/CombAlignmentTest.java
URL: 
http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/CombAlignmentTest.java?rev=1919634&r1=1919633&r2=1919634&view=diff
==============================================================================
--- 
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/CombAlignmentTest.java
 (original)
+++ 
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/CombAlignmentTest.java
 Fri Aug  2 03:55:58 2024
@@ -50,10 +50,13 @@ class CombAlignmentTest
         {
             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);


Reply via email to