From 039a539aa02758d8e8a13f5985edca2f18da9fd0 Mon Sep 17 00:00:00 2001 From: Lachlan Roberts Date: Wed, 30 Jun 2021 16:39:00 +1000 Subject: [PATCH] Issue #6470 - prevent EOF being released back into pool Signed-off-by: Lachlan Roberts --- .../jetty/websocket/common/message/MessageInputStream.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageInputStream.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageInputStream.java index cfbc822e090c..09a1146c75db 100644 --- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageInputStream.java +++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageInputStream.java @@ -163,7 +163,8 @@ public void close() for (ByteBuffer buffer : buffers) { - bufferPool.release(buffer); + if (buffer != null && buffer != EOF) + bufferPool.release(buffer); } activeBuffer = null; @@ -259,7 +260,8 @@ public int read(byte[] b, int off, int len) throws IOException synchronized (this) { // Release buffer back to pool. - bufferPool.release(activeBuffer); + if (activeBuffer != null && activeBuffer != EOF) + bufferPool.release(activeBuffer); activeBuffer = null; switch (state)