Author: tilman
Date: Sat Aug 29 16:48:37 2026
New Revision: 1937622
Log:
PDFBOX-5660: delete unneeded code, as suggested by Valery Bokov; closes #502
Modified:
pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/pfb/PfbParser.java
Modified:
pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/pfb/PfbParser.java
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/pfb/PfbParser.java
Sat Aug 29 16:42:38 2026 (r1937621)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/pfb/PfbParser.java
Sat Aug 29 16:48:37 2026 (r1937622)
@@ -17,7 +17,6 @@
package org.apache.fontbox.pfb;
import java.io.ByteArrayInputStream;
-import java.io.BufferedInputStream;
import java.io.EOFException;
import java.io.FileInputStream;
import java.io.IOException;
@@ -121,24 +120,13 @@ public class PfbParser
*/
private void parsePfb(InputStream pfbStream) throws IOException
{
- InputStream in;
-
- if (pfbStream.markSupported())
- {
- in = pfbStream;
- }
- else
- {
- in = new BufferedInputStream(pfbStream);
- }
-
// read into segments and keep them
List<Integer> typeList = new ArrayList<>(3);
List<byte[]> barrList = new ArrayList<>(3);
long total = 0;
do
{
- int r = in.read();
+ int r = pfbStream.read();
if (r == -1 && total > 0)
{
break; // EOF
@@ -147,7 +135,7 @@ public class PfbParser
{
throw new IOException("Start marker missing");
}
- int recordType = in.read();
+ int recordType = pfbStream.read();
if (recordType == EOF_MARKER)
{
break;
@@ -157,10 +145,10 @@ public class PfbParser
throw new IOException("Incorrect record type: " + recordType);
}
- int size = in.read();
- size += in.read() << 8;
- size += in.read() << 16;
- size += in.read() << 24;
+ int size = pfbStream.read();
+ size += pfbStream.read() << 8;
+ size += pfbStream.read() << 16;
+ size += pfbStream.read() << 24;
LOG.debug("record type: {}, segment size: {}", recordType, size);
if (size < 0)
{
@@ -169,7 +157,7 @@ public class PfbParser
// PDFBOX-6044: avoid potential OOM. readNBytes() grows its buffer
// incrementally as bytes actually arrive, so a bogus/huge size can
// never force an allocation larger than what the stream really
holds.
- byte[] ar = in.readNBytes(size);
+ byte[] ar = pfbStream.readNBytes(size);
if (ar.length != size)
{
throw new EOFException("EOF while reading PFB font");