From 2b22d3bfb4579971eccfaefa09ea077ce992e9d2 Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Thu, 15 Sep 2016 15:49:04 +0800 Subject: JNI: Ensure that BufferInputStream position is in range. --- .../java/src/com/artifex/mupdf/fitz/BufferInputStream.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'platform/java/src') diff --git a/platform/java/src/com/artifex/mupdf/fitz/BufferInputStream.java b/platform/java/src/com/artifex/mupdf/fitz/BufferInputStream.java index 6a03dc00..b1355612 100644 --- a/platform/java/src/com/artifex/mupdf/fitz/BufferInputStream.java +++ b/platform/java/src/com/artifex/mupdf/fitz/BufferInputStream.java @@ -29,18 +29,23 @@ public class BufferInputStream extends InputStream } public int read() { - return buffer.readByte(position++); + int c = buffer.readByte(position); + if (c >= 0) + position++; + return c; } public int read(byte[] b) { int n = buffer.readBytes(position, b); - position += n; + if (n >= 0) + position += n; return n; } public int read(byte[] b, int off, int len) { int n = buffer.readBytesInto(position, b, off, len); - position += n; + if (n >= 0) + position += n; return n; } -- cgit v1.2.3