Author: tilman
Date: Wed Jul 22 12:49:45 2026
New Revision: 1936475

Log:
PDFBOX-5660: Sonar fix (avoid NPE, AIOOBE)

Modified:
   
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFOptionElement.java

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFOptionElement.java
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFOptionElement.java
       Wed Jul 22 12:49:40 2026        (r1936474)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFOptionElement.java
       Wed Jul 22 12:49:45 2026        (r1936475)
@@ -80,7 +80,15 @@ public class FDFOptionElement implements
      */
     public String getOption()
     {
-        return ((COSString) option.getObject(0)).getString();
+        if (option != null && !option.isEmpty())
+        {
+            COSBase base = option.getObject(0);
+            if (base instanceof COSString)
+            {
+                return ((COSString) base).getString();
+            }
+        }
+        return "";
     }
 
     /**
@@ -90,6 +98,7 @@ public class FDFOptionElement implements
      */
     public void setOption(String opt)
     {
+        option.growToSize(1);
         option.set(0, new COSString(opt));
     }
 
@@ -100,7 +109,15 @@ public class FDFOptionElement implements
      */
     public String getDefaultAppearanceString()
     {
-        return ((COSString) option.getObject(1)).getString();
+        if (option != null && option.size() > 1)
+        {
+            COSBase base = option.getObject(1);
+            if (base instanceof COSString)
+            {
+                return ((COSString) base).getString();
+            }
+        }
+        return "";
     }
 
     /**
@@ -110,6 +127,7 @@ public class FDFOptionElement implements
      */
     public void setDefaultAppearanceString(String da)
     {
+        option.growToSize(2);
         option.set(1, new COSString(da));
     }
 }

Reply via email to