Author: lehmi
Date: Thu Aug  1 05:37:22 2024
New Revision: 1919610

URL: http://svn.apache.org/viewvc?rev=1919610&view=rev
Log:
PDFBOX-5675: never re-thrown a DataFormatException, simply use the already read 
data or an empty stream

Modified:
    
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/filter/FlateFilterDecoderStream.java

Modified: 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/filter/FlateFilterDecoderStream.java
URL: 
http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/filter/FlateFilterDecoderStream.java?rev=1919610&r1=1919609&r2=1919610&view=diff
==============================================================================
--- 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/filter/FlateFilterDecoderStream.java
 (original)
+++ 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/filter/FlateFilterDecoderStream.java
 Thu Aug  1 05:37:22 2024
@@ -44,7 +44,6 @@ public final class FlateFilterDecoderStr
     private byte[] decodedData = new byte[4096];
     // use nowrap mode to bypass zlib-header and checksum to avoid a 
DataFormatException
     private final Inflater inflater = new Inflater(true);
-    private boolean dataDecoded = false;
 
     /**
      * Constructor.
@@ -84,22 +83,14 @@ public final class FlateFilterDecoderStr
         try
         {
             bytesDecoded = inflater.inflate(decodedData);
-            dataDecoded |= bytesDecoded > 0;
         }
         catch (DataFormatException exception)
         {
             isEOF = true;
-            if (dataDecoded)
-            {
-                // some data could be decoded -> don't throw an exception
-                LOG.warn("FlateFilter: premature end of stream due to a 
DataFormatException");
-                return false;
-            }
-            else
-            {
-                // nothing could be read -> re-throw exception wrapped in an 
IOException
-                throw new IOException(exception);
-            }
+            // don't throw an exception, use the already read data or an empty 
stream
+            LOG.warn("FlateFilter: premature end of stream due to a 
DataFormatException = "
+                    + exception.getMessage());
+            return false;
         }
         return true;
     }


Reply via email to