From ac371bb596b4eab674ae302799accb87b69a59cc Mon Sep 17 00:00:00 2001 From: _tomcraft <936063+tomcraft@users.noreply.github.com> Date: Wed, 28 Apr 2021 08:07:17 +1000 Subject: [PATCH] #3073: Release HAProxyMessage after read --- .../net/md_5/bungee/netty/HandlerBoss.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/proxy/src/main/java/net/md_5/bungee/netty/HandlerBoss.java b/proxy/src/main/java/net/md_5/bungee/netty/HandlerBoss.java index 989bfd87..270545f2 100644 --- a/proxy/src/main/java/net/md_5/bungee/netty/HandlerBoss.java +++ b/proxy/src/main/java/net/md_5/bungee/netty/HandlerBoss.java @@ -81,14 +81,20 @@ public class HandlerBoss extends ChannelInboundHandlerAdapter if ( msg instanceof HAProxyMessage ) { HAProxyMessage proxy = (HAProxyMessage) msg; - InetSocketAddress newAddress = new InetSocketAddress( proxy.sourceAddress(), proxy.sourcePort() ); - - ProxyServer.getInstance().getLogger().log( Level.FINE, "Set remote address via PROXY {0} -> {1}", new Object[] + try { - channel.getRemoteAddress(), newAddress - } ); + InetSocketAddress newAddress = new InetSocketAddress( proxy.sourceAddress(), proxy.sourcePort() ); - channel.setRemoteAddress( newAddress ); + ProxyServer.getInstance().getLogger().log( Level.FINE, "Set remote address via PROXY {0} -> {1}", new Object[] + { + channel.getRemoteAddress(), newAddress + } ); + + channel.setRemoteAddress( newAddress ); + } finally + { + proxy.release(); + } return; }