From 473f6a6edb8353728ea8e711ac8241ddc21adf08 Mon Sep 17 00:00:00 2001 From: Norman Maurer Date: Mon, 2 Apr 2018 21:37:03 +0200 Subject: [PATCH] SctpMessageCompletionHandler may leak ByteBuf for fragmented messages. (#7832) Motivation: SctpMessageCompletionHandler stores fragments in a Map but not release the stored ByteBuf when the handler is removed. Modifications: Release all buffers that are still in the Map when handlerRemoved(...) is called. Result: No more leaks for fragemented messages. --- .../sctp/SctpMessageCompletionHandler.java | 9 ++ .../SctpMessageCompletionHandlerTest.java | 124 ++++++++++++++++++ 2 files changed, 133 insertions(+) create mode 100644 transport-sctp/src/main/test/io/netty/handler/codec/sctp/SctpMessageCompletionHandlerTest.java diff --git a/transport-sctp/src/main/java/io/netty/handler/codec/sctp/SctpMessageCompletionHandler.java b/transport-sctp/src/main/java/io/netty/handler/codec/sctp/SctpMessageCompletionHandler.java index 61719720d2..0a09a5e847 100644 --- a/transport-sctp/src/main/java/io/netty/handler/codec/sctp/SctpMessageCompletionHandler.java +++ b/transport-sctp/src/main/java/io/netty/handler/codec/sctp/SctpMessageCompletionHandler.java @@ -68,4 +68,13 @@ public class SctpMessageCompletionHandler extends MessageToMessageDecoder