X Tutup
Skip to content

Commit 7c8d2d8

Browse files
committed
Merge pull request #563 from docker-java/issue-556
Fix memory leak in netty implementation of DockerCmdExecFactory
2 parents 9837534 + 54d34f0 commit 7c8d2d8

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

src/main/java/com/github/dockerjava/netty/handler/FramedResponseStreamHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public FramedResponseStreamHandler(ResultCallback<Frame> resultCallback) {
4545
@Override
4646
protected void channelRead0(ChannelHandlerContext ctx, ByteBuf msg) throws Exception {
4747

48-
rawBuffer.writeBytes(msg.copy(), 0, msg.readableBytes());
48+
rawBuffer.writeBytes(msg, 0, msg.readableBytes());
4949

5050
Frame frame = null;
5151

src/main/java/com/github/dockerjava/netty/handler/HttpResponseHandler.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@ public void close() {
120120
}
121121

122122
private String getBodyAsMessage(ByteBuf body) {
123-
return body.readBytes(body.readableBytes()).toString(Charset.forName("UTF-8"));
123+
String result = body.readBytes(body.readableBytes()).toString(Charset.forName("UTF-8"));
124+
body.discardReadBytes();
125+
body.release();
126+
return result;
124127
}
125128
}

src/main/java/com/github/dockerjava/netty/handler/JsonResponseCallbackHandler.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ public JsonResponseCallbackHandler(TypeReference<T> typeReference, ResultCallbac
3030
protected void channelRead0(ChannelHandlerContext ctx, ByteBuf msg) throws Exception {
3131
byte[] buffer = new byte[msg.readableBytes()];
3232
msg.readBytes(buffer);
33+
msg.discardReadBytes();
3334

3435
T object = null;
3536

0 commit comments

Comments
 (0)
X Tutup