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 2022/03/21 18:54:09 UTC
svn commit: r1899114 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/COSFilterInputStream.java
Author: tilman
Date: Mon Mar 21 18:54:09 2022
New Revision: 1899114
URL: http://svn.apache.org/viewvc?rev=1899114&view=rev
Log:
PDFBOX-5395: avoid endless loop, as suggested by Aleksej Kozlov
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/COSFilterInputStream.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/COSFilterInputStream.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/COSFilterInputStream.java?rev=1899114&r1=1899113&r2=1899114&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/COSFilterInputStream.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/COSFilterInputStream.java Mon Mar 21 18:54:09 2022
@@ -20,6 +20,7 @@ import java.io.ByteArrayInputStream;
import java.io.FilterInputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.util.Arrays;
import org.apache.pdfbox.io.IOUtils;
@@ -105,6 +106,11 @@ public class COSFilterInputStream extend
while (this.position < this.ranges[this.range][0])
{
long skipped = super.skip(this.ranges[this.range][0] - this.position);
+ if (skipped == 0)
+ {
+ throw new IOException("FilterInputStream.skip() returns 0, range: " +
+ Arrays.toString(this.ranges[this.range]));
+ }
this.position += skipped;
}
return true;