From 24f8eac12a981d8edf85d9409cc5e2c626e1585d Mon Sep 17 00:00:00 2001 From: Arjen Poutsma Date: Mon, 18 Dec 2023 15:22:48 +0100 Subject: [PATCH] Improve ByteBuffer copy method This commit improves JettyWebSocketHandlerAdapter::copyByteBuffer so that it allocates a buffer large enough for the remaining bytes contained in the source, instead of allocating one with the capacity of the source. Closes gh-31857 --- .../socket/adapter/jetty/JettyWebSocketHandlerAdapter.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/adapter/jetty/JettyWebSocketHandlerAdapter.java b/spring-websocket/src/main/java/org/springframework/web/socket/adapter/jetty/JettyWebSocketHandlerAdapter.java index af62342431b..5254abc4725 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/adapter/jetty/JettyWebSocketHandlerAdapter.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/adapter/jetty/JettyWebSocketHandlerAdapter.java @@ -118,8 +118,9 @@ public class JettyWebSocketHandlerAdapter { } private static ByteBuffer copyByteBuffer(ByteBuffer src) { - ByteBuffer dest = ByteBuffer.allocate(src.capacity()); - dest.put(0, src, 0, src.remaining()); + ByteBuffer dest = ByteBuffer.allocate(src.remaining()); + dest.put(src); + dest.flip(); return dest; }