From 2fcbeb659515dc9b650aa2f0ba09ab2348e67a1d Mon Sep 17 00:00:00 2001 From: Arjen Poutsma Date: Tue, 23 Feb 2016 14:14:34 +0100 Subject: [PATCH] Fixed issue with DefaultDataBuffer.asInputStream() --- .../springframework/core/io/buffer/DefaultDataBuffer.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/spring-web-reactive/src/main/java/org/springframework/core/io/buffer/DefaultDataBuffer.java b/spring-web-reactive/src/main/java/org/springframework/core/io/buffer/DefaultDataBuffer.java index 27f123ac82..3bd7859957 100644 --- a/spring-web-reactive/src/main/java/org/springframework/core/io/buffer/DefaultDataBuffer.java +++ b/spring-web-reactive/src/main/java/org/springframework/core/io/buffer/DefaultDataBuffer.java @@ -250,14 +250,15 @@ public class DefaultDataBuffer implements DataBuffer { @Override public int read() { return readInternal( - buffer -> buffer.hasRemaining() ? buffer.get() & 0xFF : -1); + buffer -> readableByteCount() > 0 ? buffer.get() & 0xFF : -1); } @Override public int read(byte[] bytes, int off, int len) throws IOException { return readInternal(buffer -> { - if (buffer.hasRemaining()) { - int minLen = Math.min(len, buffer.remaining()); + int count = readableByteCount(); + if (count > 0) { + int minLen = Math.min(len, count); buffer.get(bytes, off, minLen); return minLen; }