diff --git a/java/src/main/java/org/msgpack/Unpacker.java b/java/src/main/java/org/msgpack/Unpacker.java index 39bd8fa6..f22c58b6 100644 --- a/java/src/main/java/org/msgpack/Unpacker.java +++ b/java/src/main/java/org/msgpack/Unpacker.java @@ -288,6 +288,12 @@ public class Unpacker implements Iterable { return; } + if(impl.filled <= impl.offset) { + // rewind the buffer + impl.filled = 0; + impl.offset = 0; + } + if(impl.buffer.length - impl.filled >= require) { return; }