From 121cb2c94c8c1bfbb4c0915323d872d851892066 Mon Sep 17 00:00:00 2001
From: zzz <zzz@i2pmail.org>
Date: Mon, 10 May 2021 08:42:04 -0400
Subject: [PATCH] NTCP: Fix reported NPE in debug logging on java 16

---
 .../net/i2p/router/transport/ntcp/NTCPConnection.java  | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java b/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java
index 890f06117d..80ad3cc0e9 100644
--- a/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java
+++ b/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java
@@ -2,6 +2,7 @@ package net.i2p.router.transport.ntcp;
 
 import java.io.Closeable;
 import java.io.IOException;
+import java.net.InetAddress;
 import java.net.Inet6Address;
 import java.nio.ByteBuffer;
 import java.nio.channels.SelectionKey;
@@ -1759,9 +1760,16 @@ public class NTCPConnection implements Closeable {
 
     @Override
     public String toString() {
+        String fromIP;
+        if (_isInbound) {
+            InetAddress addr = _chan.socket().getInetAddress();
+            fromIP = addr != null ? addr.getHostAddress() : "unknown";
+        } else {
+            fromIP = null;
+        }
         return "NTCP" + _version + " conn " +
                _connID +
-               (_isInbound ? (" from " + _chan.socket().getInetAddress() + " port " + _chan.socket().getPort() + ' ')
+               (_isInbound ? (" from " + fromIP + " port " + _chan.socket().getPort() + ' ')
                            : (" to " + _remAddr.getHost() + " port " + _remAddr.getPort() + ' ')) +
                (_remotePeer == null ? "unknown" : _remotePeer.calculateHash().toBase64().substring(0,6)) +
                (isEstablished() ? "" : " not established") +
-- 
GitLab