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 2021/07/31 17:35:04 UTC

svn commit: r1891925 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java

Author: tilman
Date: Sat Jul 31 17:35:04 2021
New Revision: 1891925

URL: http://svn.apache.org/viewvc?rev=1891925&view=rev
Log:
PDFBOX-4892: avoid NPE, as suggested by valerybokov

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java?rev=1891925&r1=1891924&r2=1891925&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java Sat Jul 31 17:35:04 2021
@@ -450,18 +450,24 @@ public class COSArray extends COSBase im
      * @param object The object to search for.
      * @return The index of the object or -1.
      */
-    public int indexOf( COSBase object )
+    public int indexOf(COSBase object)
     {
-        int retval = -1;
         for (int i = 0; i < size(); i++)
         {
-            if( get( i ).equals( object ) )
+            COSBase item = get(i);
+            if (item == null)
             {
-                retval = i;
-                break;
+                if (object == null)
+                {
+                    return i;
+                }
+            }
+            else if (item.equals(object))
+            {
+                return i;
             }
         }
-        return retval;
+        return -1;
     }
 
     /**
@@ -473,18 +479,23 @@ public class COSArray extends COSBase im
      */
     public int indexOfObject(COSBase object)
     {
-        int retval = -1;
         for (int i = 0; i < this.size(); i++)
         {
             COSBase item = this.get(i);
-            if (item.equals(object) ||
-                item instanceof COSObject && ((COSObject) item).getObject().equals(object))
+            if (item == null)
+            {
+                if (item == object)
+                {
+                    return i;
+                }
+            }
+            else if (item.equals(object)
+                    || item instanceof COSObject && ((COSObject) item).getObject().equals(object))
             {
-                retval = i;
-                break;
+                return i;
             }
         }
-        return retval;
+        return -1;
     }
 
     /**