diff --git a/core/src/main/java/io/grpc/internal/Base64Deframer.java b/core/src/main/java/io/grpc/internal/Base64Deframer.java index 9f826de6ecc..3983e7847b9 100644 --- a/core/src/main/java/io/grpc/internal/Base64Deframer.java +++ b/core/src/main/java/io/grpc/internal/Base64Deframer.java @@ -64,7 +64,7 @@ public void request(int numMessages) { @Override public void deframe(ReadableBuffer data) { // TODO: Make this more efficient. - try (data) { + try { int fill = Math.min(4 - bufferedBytes, data.readableBytes()); data.readBytes(buffer, bufferedBytes, fill); bufferedBytes += fill; @@ -79,6 +79,8 @@ public void deframe(ReadableBuffer data) { delegate.deframe(ReadableBuffers.wrap(decoded)); bufferedBytes = data.readableBytes(); data.readBytes(buffer, 0, bufferedBytes); + } finally { + data.close(); } }