This is an automated email from the ASF dual-hosted git repository.
elecharny pushed a commit to branch bugfix/DIRMINA-1173
in repository https://gitbox.apache.org/repos/asf/mina.git
The following commit(s) were added to refs/heads/bugfix/DIRMINA-1173 by this
push:
new df98d0947 Free a useless buffer.
df98d0947 is described below
commit df98d09478736f6d70b161da96cea9c723778a2a
Author: emmanuel lecharny <[email protected]>
AuthorDate: Thu Apr 18 14:40:38 2024 +0200
Free a useless buffer.
---
.../apache/mina/filter/codec/CumulativeProtocolDecoder.java | 13 +++++++++++++
.../org/apache/mina/filter/codec/ProtocolCodecFilter.java | 2 ++
2 files changed, 15 insertions(+)
diff --git
a/mina-core/src/main/java/org/apache/mina/filter/codec/CumulativeProtocolDecoder.java
b/mina-core/src/main/java/org/apache/mina/filter/codec/CumulativeProtocolDecoder.java
index 73b00b909..eeb3e13d1 100644
---
a/mina-core/src/main/java/org/apache/mina/filter/codec/CumulativeProtocolDecoder.java
+++
b/mina-core/src/main/java/org/apache/mina/filter/codec/CumulativeProtocolDecoder.java
@@ -169,6 +169,12 @@ public abstract class CumulativeProtocolDecoder extends
ProtocolDecoderAdapter {
buf = newBuf;
// Update the session attribute.
+ IoBuffer oldBuf = (IoBuffer) session.getAttribute(BUFFER);
+
+ if (oldBuf != null) {
+ oldBuf.free();
+ }
+
session.setAttribute(BUFFER, buf);
}
} else {
@@ -236,6 +242,7 @@ public abstract class CumulativeProtocolDecoder extends
ProtocolDecoderAdapter {
private void removeSessionBuffer(IoSession session) {
IoBuffer buf = (IoBuffer) session.removeAttribute(BUFFER);
+
if (buf != null) {
buf.free();
}
@@ -247,6 +254,12 @@ public abstract class CumulativeProtocolDecoder extends
ProtocolDecoderAdapter {
remainingBuf.order(buf.order());
remainingBuf.put(buf);
+ IoBuffer oldBuf = (IoBuffer) session.getAttribute(BUFFER);
+
+ if (oldBuf != null) {
+ oldBuf.free();
+ }
+
session.setAttribute(BUFFER, remainingBuf);
}
diff --git
a/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
b/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
index 06a11c93b..1f46c7524 100644
---
a/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
+++
b/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
@@ -273,6 +273,8 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
}
}
}
+
+ in.free();
}
/**