Author: tilman
Date: Sun Jul 13 08:00:24 2025
New Revision: 1927176

URL: http://svn.apache.org/viewvc?rev=1927176&view=rev
Log:
PDFBOX-6035: prevent infinite loop

Modified:
    
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingType4.java
    
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDTriangleBasedShadingType.java

Modified: 
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingType4.java
URL: 
http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingType4.java?rev=1927176&r1=1927175&r2=1927176&view=diff
==============================================================================
--- 
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingType4.java
 (original)
+++ 
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingType4.java
 Sun Jul 13 08:00:24 2025
@@ -191,7 +191,8 @@ public class PDShadingType4 extends PDTr
                             }
                             break;
                         default:
-                            LOG.warn("bad flag: " + flag);
+                            LOG.warn("bad flag " + flag + ", aborting");
+                            eof = true;
                             break;
                     }
                 }

Modified: 
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDTriangleBasedShadingType.java
URL: 
http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDTriangleBasedShadingType.java?rev=1927176&r1=1927175&r2=1927176&view=diff
==============================================================================
--- 
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDTriangleBasedShadingType.java
 (original)
+++ 
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDTriangleBasedShadingType.java
 Sun Jul 13 08:00:24 2025
@@ -194,6 +194,10 @@ abstract class PDTriangleBasedShadingTyp
                                 PDRange rangeX, PDRange rangeY, PDRange[] 
colRangeTab,
                                 Matrix matrix, AffineTransform xform) throws 
IOException
     {
+        if (bitsPerCoordinate <= 0 || numberOfColorComponents <= 0 || 
bitsPerColorComponent <= 0)
+        {
+            throw new IOException("nothing to read, check bitsPerCoordinate, 
numberOfColorComponents and bitsPerColorComponent");
+        }
         float[] colorComponentTab = new float[numberOfColorComponents];
         long x = input.readBits(bitsPerCoordinate);
         long y = input.readBits(bitsPerCoordinate);


Reply via email to