GH-9694: Remove duplicate SocketChannel initialization
Fixes: #9694 Issue link: https://github.com/spring-projects/spring-integration/issues/9694 - Add null check before closing `socketChannel` in catch block - Prevents potential `NullPointerException` during error handling **Auto-cherry-pick to `6.3.x`**
This commit is contained in:
@@ -40,6 +40,7 @@ import org.springframework.util.Assert;
|
||||
* @author Artem Bilan
|
||||
* @author Christian Tzolov
|
||||
* @author Ngoc Nhan
|
||||
* @author Jooyoung Pyoung
|
||||
*
|
||||
* @since 2.0
|
||||
*
|
||||
@@ -85,8 +86,9 @@ public class TcpNioClientConnectionFactory extends
|
||||
|
||||
@Override
|
||||
protected TcpConnectionSupport buildNewConnection() {
|
||||
SocketChannel socketChannel = null;
|
||||
try {
|
||||
SocketChannel socketChannel = SocketChannel.open();
|
||||
socketChannel = SocketChannel.open();
|
||||
setSocketAttributes(socketChannel.socket());
|
||||
connect(socketChannel);
|
||||
TcpNioConnection connection =
|
||||
@@ -113,6 +115,14 @@ public class TcpNioClientConnectionFactory extends
|
||||
return wrappedConnection;
|
||||
}
|
||||
catch (IOException e) {
|
||||
try {
|
||||
if (socketChannel != null) {
|
||||
socketChannel.close();
|
||||
}
|
||||
}
|
||||
catch (IOException e2) {
|
||||
logger.error(e2, "Error closing socket channel");
|
||||
}
|
||||
throw new UncheckedIOException(e);
|
||||
}
|
||||
catch (InterruptedException e) {
|
||||
|
||||
Reference in New Issue
Block a user