diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-07-03 18:33:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-03 18:33:31 +0200 |
commit | a8d3000600c89a0f0cb9c77e88dd8f64516c591d (patch) | |
tree | 641bab71593774a80542e29947d428d50e94d10c | |
parent | 89b37f7a7fda13eb031cb45a37092fe086242cd0 (diff) | |
parent | 7a47d0065fe6ed86055441fecc0e193747ca456e (diff) |
Merge pull request #23325 from vespa-engine/balder/allow-exact-mark
Fix off-by-one error related to marking inn UnsafeContentInputStream
-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); |