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 2020/12/26 15:20:20 UTC
svn commit: r1884820 - in
/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter:
CCITTFaxDecoderStream.java CCITTFaxFilter.java
Author: tilman
Date: Sat Dec 26 15:20:20 2020
New Revision: 1884820
URL: http://svn.apache.org/viewvc?rev=1884820&view=rev
Log:
PDFBOX-5057: Sonar fix
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecoderStream.java
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxFilter.java
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecoderStream.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecoderStream.java?rev=1884820&r1=1884819&r2=1884820&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecoderStream.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecoderStream.java Sat Dec 26 15:20:20 2020
@@ -123,7 +123,7 @@ final class CCITTFaxDecoderStream extend
optionUncompressed = (options & TIFFExtension.GROUP4OPT_UNCOMPRESSED) != 0;
break;
default:
- throw new AssertionError();
+ throw new IllegalArgumentException("Illegal parameter: " + type);
}
}
@@ -332,6 +332,8 @@ final class CCITTFaxDecoderStream extend
case TIFFExtension.COMPRESSION_CCITT_T6:
decodeRowType6();
break;
+ default:
+ throw new IllegalArgumentException("Illegal parameter: " + type);
}
int index = 0;
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxFilter.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxFilter.java?rev=1884820&r1=1884819&r2=1884820&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxFilter.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxFilter.java Sat Dec 26 15:20:20 2020
@@ -16,6 +16,7 @@
*/
package org.apache.pdfbox.filter;
+import java.io.EOFException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -70,7 +71,11 @@ final class CCITTFaxFilter extends Filte
{
type = TIFFExtension.COMPRESSION_CCITT_T4; // Group 3 1D
byte[] streamData = new byte[20];
- encoded.read(streamData);
+ int bytesRead = encoded.read(streamData);
+ if (bytesRead != streamData.length)
+ {
+ throw new EOFException("Can't read " + streamData.length + " bytes");
+ }
encoded = new PushbackInputStream(encoded, streamData.length);
((PushbackInputStream) encoded).unread(streamData);
if (streamData[0] != 0 || (streamData[1] >> 4 != 1 && streamData[1] != 1))
@@ -78,7 +83,7 @@ final class CCITTFaxFilter extends Filte
// leading EOL (0b000000000001) not found, search further and try RLE if not
// found
type = TIFFExtension.COMPRESSION_CCITT_MODIFIED_HUFFMAN_RLE;
- short b = (short) (((streamData[0] << 8) + streamData[1]) >> 4);
+ short b = (short) (((streamData[0] << 8) + (streamData[1] & 0xff)) >> 4);
for (int i = 12; i < 160; i++)
{
b = (short) ((b << 1) + ((streamData[(i / 8)] >> (7 - (i % 8))) & 0x01));