diff --git a/src/main/java/org/scijava/io/handle/BytesHandle.java b/src/main/java/org/scijava/io/handle/BytesHandle.java index 7eb52dbd5..9ffa71431 100644 --- a/src/main/java/org/scijava/io/handle/BytesHandle.java +++ b/src/main/java/org/scijava/io/handle/BytesHandle.java @@ -87,9 +87,13 @@ public void setLength(final long length) throws IOException { @Override public int read(final byte[] b, final int off, int len) throws IOException { + if(len == 0) return 0; if (offset + len > length()) { len = (int) (length() - offset); } + if(len == 0) { // EOF + return -1; + } bytes().getBytes(offset, b, off, len); offset += len; return len;