From 9ed4bff4a933df692505a56ecd9e30440fdcf11e Mon Sep 17 00:00:00 2001 From: Arjen Poutsma Date: Fri, 22 Apr 2016 13:01:18 +0200 Subject: [PATCH] Fixed DataBufferUtils.takeUntilByteCount --- .../core/io/buffer/support/DataBufferUtils.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spring-web-reactive/src/main/java/org/springframework/core/io/buffer/support/DataBufferUtils.java b/spring-web-reactive/src/main/java/org/springframework/core/io/buffer/support/DataBufferUtils.java index a8c304a150..3d41b007bf 100644 --- a/spring-web-reactive/src/main/java/org/springframework/core/io/buffer/support/DataBufferUtils.java +++ b/spring-web-reactive/src/main/java/org/springframework/core/io/buffer/support/DataBufferUtils.java @@ -139,10 +139,10 @@ public abstract class DataBufferUtils { @Override public void onNext(DataBuffer dataBuffer) { - long currentCount = - this.byteCount.addAndGet(dataBuffer.readableByteCount()); + int delta = dataBuffer.readableByteCount(); + long currentCount = this.byteCount.addAndGet(delta); if (currentCount > maxByteCount) { - int size = (int) (currentCount - maxByteCount + 1); + int size = (int) (maxByteCount - currentCount + delta); ByteBuffer byteBuffer = (ByteBuffer) dataBuffer.asByteBuffer().limit(size); DataBuffer partialBuffer =