diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-07-03 18:15:23 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-07-03 18:15:23 +0200 |
commit | 7a47d0065fe6ed86055441fecc0e193747ca456e (patch) | |
tree | 641bab71593774a80542e29947d428d50e94d10c /jdisc_core | |
parent | 89b37f7a7fda13eb031cb45a37092fe086242cd0 (diff) |
Fix off-by-one error related to marking inn UnsafeContentInputStream
Diffstat (limited to 'jdisc_core')
-rw-r--r-- | jdisc_core/src/main/java/com/yahoo/jdisc/handler/UnsafeContentInputStream.java | 2 | ||||
-rw-r--r-- | jdisc_core/src/test/java/com/yahoo/jdisc/handler/UnsafeContentInputStreamTestCase.java | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/handler/UnsafeContentInputStream.java b/jdisc_core/src/main/java/com/yahoo/jdisc/handler/UnsafeContentInputStream.java index 731e28b556c..4d54c40209c 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/handler/UnsafeContentInputStream.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/handler/UnsafeContentInputStream.java @@ -71,7 +71,7 @@ public class UnsafeContentInputStream extends InputStream { read += toRead; } if (marked != null) { - if (readSinceMarked + len < marked.length) { + if (readSinceMarked + len <= marked.length) { for (int i=0; i < len; i++) { marked[readSinceMarked++] = buf[off+i]; } diff --git a/jdisc_core/src/test/java/com/yahoo/jdisc/handler/UnsafeContentInputStreamTestCase.java b/jdisc_core/src/test/java/com/yahoo/jdisc/handler/UnsafeContentInputStreamTestCase.java index 864604d76d6..134c34641a5 100644 --- a/jdisc_core/src/test/java/com/yahoo/jdisc/handler/UnsafeContentInputStreamTestCase.java +++ b/jdisc_core/src/test/java/com/yahoo/jdisc/handler/UnsafeContentInputStreamTestCase.java @@ -50,6 +50,11 @@ public class UnsafeContentInputStreamTestCase { stream.read(buf); assertEquals("ello Wor", Utf8.toString(buf)); stream.reset(); + stream.mark(8); + buf = new byte[8]; + stream.read(buf); + assertEquals("ello Wor", Utf8.toString(buf)); + stream.reset(); stream.mark(5); buf = new byte [9]; stream.read(buf); |