From e29e3e2fd3b8374639d46c3f7301ed910b6e81ed Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Sat, 11 Feb 2017 13:26:26 +0000
Subject: [PATCH] Test: Prevent NPE in LocalClientManager test on client
 shutdown

---
 .../i2p/router/client/ClientConnectionRunner.java | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/router/java/src/net/i2p/router/client/ClientConnectionRunner.java b/router/java/src/net/i2p/router/client/ClientConnectionRunner.java
index bd09aa2494..f3abac9156 100644
--- a/router/java/src/net/i2p/router/client/ClientConnectionRunner.java
+++ b/router/java/src/net/i2p/router/client/ClientConnectionRunner.java
@@ -199,12 +199,15 @@ class ClientConnectionRunner {
         if (_sessionKeyManager != null)
             _sessionKeyManager.shutdown();
         _manager.unregisterConnection(this);
-        for (SessionParams sp : _sessions.values()) {
-            LeaseSet ls = sp.currentLeaseSet;
-            if (ls != null)
-                _context.netDb().unpublish(ls);
-            if (!sp.isPrimary)
-                _context.tunnelManager().removeAlias(sp.dest);
+        // netdb may be null in unit tests
+        if (_context.netDb() != null) {
+            for (SessionParams sp : _sessions.values()) {
+                LeaseSet ls = sp.currentLeaseSet;
+                if (ls != null)
+                    _context.netDb().unpublish(ls);
+                if (!sp.isPrimary)
+                    _context.tunnelManager().removeAlias(sp.dest);
+            }
         }
         synchronized (_alreadyProcessed) {
             _alreadyProcessed.clear();
-- 
GitLab