From 3d385228f0de4bbcf2f3c23a3a681bea77e0e1bc Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Wed, 9 Aug 2017 21:24:02 +0000
Subject: [PATCH] findbugs all over

---
 apps/BOB/src/net/i2p/BOB/MUXlisten.java                       | 2 +-
 apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java          | 2 ++
 .../webapp/src/main/java/net/i2p/imagegen/RandomArt.java      | 2 +-
 .../java/src/net/i2p/router/news/NewsManager.java             | 1 -
 .../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java | 2 +-
 .../java/src/net/i2p/router/web/SybilRenderer.java            | 4 ++--
 apps/sam/java/src/net/i2p/sam/SAMv3Handler.java               | 2 --
 apps/susimail/src/src/i2p/susi/webmail/WebMail.java           | 2 +-
 core/java/src/net/i2p/crypto/KeyStoreUtil.java                | 4 ++--
 core/java/src/net/i2p/crypto/SelfSignedGenerator.java         | 2 +-
 core/java/src/net/i2p/util/EepGet.java                        | 3 ++-
 router/java/src/net/i2p/data/router/RouterKeyGenerator.java   | 2 +-
 router/java/src/net/i2p/router/RouterVersion.java             | 2 +-
 router/java/src/net/i2p/router/startup/WorkingDir.java        | 1 -
 14 files changed, 15 insertions(+), 16 deletions(-)

diff --git a/apps/BOB/src/net/i2p/BOB/MUXlisten.java b/apps/BOB/src/net/i2p/BOB/MUXlisten.java
index 578c80d47f..7dee1eeb33 100644
--- a/apps/BOB/src/net/i2p/BOB/MUXlisten.java
+++ b/apps/BOB/src/net/i2p/BOB/MUXlisten.java
@@ -45,7 +45,7 @@ public class MUXlisten implements Runnable {
 	private ThreadGroup tg;
 	private final String N;
 	private ServerSocket listener;
-	private final int backlog = 50; // should this be more? less?
+	private static final int backlog = 50; // should this be more? less?
 	private final boolean go_out;
 	private final boolean come_in;
 	private final AtomicBoolean lock;
diff --git a/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java b/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java
index 46d4476dce..f8f556c1bd 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java
@@ -846,6 +846,7 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
      *  @param nInfo who to send it to
      *  @return success
      */
+/****
     private boolean sendError(NodeInfo nInfo, MsgID msgID, int err, String msg) {
         if (_log.shouldLog(Log.INFO))
             _log.info("Sending error " + msg + " to: " + nInfo);
@@ -856,6 +857,7 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
         map.put("e", error);
         return sendError(nInfo, msgID, map);
     }
+****/
 
     // Low-level send methods
 
diff --git a/apps/imagegen/imagegen/webapp/src/main/java/net/i2p/imagegen/RandomArt.java b/apps/imagegen/imagegen/webapp/src/main/java/net/i2p/imagegen/RandomArt.java
index 342da1228f..21956f5519 100644
--- a/apps/imagegen/imagegen/webapp/src/main/java/net/i2p/imagegen/RandomArt.java
+++ b/apps/imagegen/imagegen/webapp/src/main/java/net/i2p/imagegen/RandomArt.java
@@ -245,7 +245,7 @@ public class RandomArt {
 	if (mod != 0) {
 		//base += mod * 16;
 		//base += mod * 16 * 256;
-		base += mod * 5 * 256 * 256;
+		base += mod * (5 * 256 * 256L);
 	}
 	if (base > 0xffffff || base < 0)
 		base &= 0xffffff;
diff --git a/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java b/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java
index 2b5af405d1..d7fb300897 100644
--- a/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java
+++ b/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java
@@ -190,7 +190,6 @@ public class NewsManager implements ClientApp {
     }
 
     private List<NewsEntry> parseInitialNews() {
-        NewsEntry entry = new NewsEntry();
         File file = new File(_context.getBaseDir(), "docs/initialNews/initialNews.xml");
         Reader reader = null;
         try {
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java
index 05e43205f2..aca298c2ff 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java
@@ -146,7 +146,7 @@ class ProfileOrganizerRenderer {
                 buf.append("<td align=\"right\"><i>").append(_t("unknown")).append("</i></td>");
             }
             buf.append("<td align=\"right\">");
-            String v = info.getOption("router.version");
+            String v = info != null ? info.getOption("router.version") : null;
             if (v != null)
                 buf.append(DataHelper.stripHTML(v));
             buf.append("</td><td align=\"right\">").append(num(prof.getSpeedValue()));
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SybilRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/SybilRenderer.java
index 7ed429b833..3d1e6db0f5 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/SybilRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/SybilRenderer.java
@@ -233,7 +233,7 @@ class SybilRenderer {
         buf.append("<h3 id=\"dest\" class=\"sybils\">Floodfills Close to Our Destinations</h3>");
         Map<Hash, TunnelPool> clientInboundPools = _context.tunnelManager().getInboundClientPools();
         List<Hash> destinations = new ArrayList<Hash>(clientInboundPools.keySet());
-        boolean debug = _context.getBooleanProperty(HelperBase.PROP_ADVANCED);
+        //boolean debug = _context.getBooleanProperty(HelperBase.PROP_ADVANCED);
         for (Hash client : destinations) {
             boolean isLocal = _context.clientManager().isLocal(client);
             if (!isLocal)
@@ -318,7 +318,7 @@ class SybilRenderer {
             }
         }
 
-        double avg = total / (sz * sz / 2);
+        double avg = total / (sz * sz / 2d);
         buf.append("<h3 class=\"sybils\">Average Floodfill Distance is ").append(fmt.format(avg)).append("</h3>");
 
         buf.append("<h3 id=\"pairs\" class=\"sybils\">Closest Floodfill Pairs by Hash</h3>");
diff --git a/apps/sam/java/src/net/i2p/sam/SAMv3Handler.java b/apps/sam/java/src/net/i2p/sam/SAMv3Handler.java
index 0b91818622..e7c5f55bc8 100644
--- a/apps/sam/java/src/net/i2p/sam/SAMv3Handler.java
+++ b/apps/sam/java/src/net/i2p/sam/SAMv3Handler.java
@@ -173,8 +173,6 @@ class SAMv3Handler extends SAMv1Handler
 
 		try {
 			Socket socket = getClientSocket().socket();
-			InputStream in = socket.getInputStream();
-
 			StringBuilder buf = new StringBuilder(1024);
 			boolean gotFirstLine = false;
 			while (true) {
diff --git a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java
index 0c907b8ea3..035d1d472f 100644
--- a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java
+++ b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java
@@ -2049,7 +2049,7 @@ public class WebMail extends HttpServlet
 				ok = false;
 				sessionObject.error += e.getMessage();
 			}
-			String boundary = "_="+(int)(Math.random()*Integer.MAX_VALUE)+""+(int)(Math.random()*Integer.MAX_VALUE);
+			String boundary = "_=" + I2PAppContext.getGlobalContext().random().nextLong();
 			boolean multipart = false;
 			if( sessionObject.attachments != null && !sessionObject.attachments.isEmpty() ) {
 				multipart = true;
diff --git a/core/java/src/net/i2p/crypto/KeyStoreUtil.java b/core/java/src/net/i2p/crypto/KeyStoreUtil.java
index 89689fe5d8..ffea508590 100644
--- a/core/java/src/net/i2p/crypto/KeyStoreUtil.java
+++ b/core/java/src/net/i2p/crypto/KeyStoreUtil.java
@@ -599,10 +599,10 @@ public final class KeyStoreUtil {
                 throw new IOException("Can't create directory " + dir);
         }
         Object[] rv = SelfSignedGenerator.generate(cname, ou, null, "I2P Anonymous Network", null, null, validDays, type);
-        PublicKey jpub = (PublicKey) rv[0];
+        //PublicKey jpub = (PublicKey) rv[0];
         PrivateKey jpriv = (PrivateKey) rv[1];
         X509Certificate cert = (X509Certificate) rv[2];
-        X509CRL crl = (X509CRL) rv[3];
+        //X509CRL crl = (X509CRL) rv[3];
         List<X509Certificate> certs = Collections.singletonList(cert);
         storePrivateKey(ks, ksPW, alias, keyPW, jpriv, certs);
         return rv;
diff --git a/core/java/src/net/i2p/crypto/SelfSignedGenerator.java b/core/java/src/net/i2p/crypto/SelfSignedGenerator.java
index 5f525b2d7a..75f51b2f93 100644
--- a/core/java/src/net/i2p/crypto/SelfSignedGenerator.java
+++ b/core/java/src/net/i2p/crypto/SelfSignedGenerator.java
@@ -713,7 +713,7 @@ public final class SelfSignedGenerator {
 
     private static final void test(String name, SigType type) throws Exception {
             Object[] rv = generate("cname@example.com", "ou", "o", null, "st", "c", 3652, type);
-            PublicKey jpub = (PublicKey) rv[0];
+            //PublicKey jpub = (PublicKey) rv[0];
             PrivateKey jpriv = (PrivateKey) rv[1];
             X509Certificate cert = (X509Certificate) rv[2];
             X509CRL crl = (X509CRL) rv[3];
diff --git a/core/java/src/net/i2p/util/EepGet.java b/core/java/src/net/i2p/util/EepGet.java
index 9d4656cee6..9534d79db5 100644
--- a/core/java/src/net/i2p/util/EepGet.java
+++ b/core/java/src/net/i2p/util/EepGet.java
@@ -1396,7 +1396,8 @@ public class EepGet {
         if (  /* (!_shouldProxy) && */
             // This is kindof a hack, but if we are downloading a gzip file
             // we don't want to transparently gunzip it and save it as a .gz file.
-            (!path.endsWith(".gz")) && (!path.endsWith(".tgz")))
+            path == null ||
+            (!path.endsWith(".gz") && !path.endsWith(".tgz")))
             buf.append("gzip");
         buf.append("\r\n");
         if(!uaOverridden)
diff --git a/router/java/src/net/i2p/data/router/RouterKeyGenerator.java b/router/java/src/net/i2p/data/router/RouterKeyGenerator.java
index 0525a4f372..52ccbba87d 100644
--- a/router/java/src/net/i2p/data/router/RouterKeyGenerator.java
+++ b/router/java/src/net/i2p/data/router/RouterKeyGenerator.java
@@ -228,7 +228,7 @@ public class RouterKeyGenerator extends RoutingKeyGenerator {
         long now = System.currentTimeMillis();
         int st = 0;
         if (args.length > 1 && (args[0].startsWith("+") || args[0].startsWith("-"))) {
-            now += Integer.parseInt(args[0]) * 24*60*60*1000L;
+            now += Integer.parseInt(args[0]) * (24*60*60*1000L);
             st++;
         }
         RouterKeyGenerator rkg = new RouterKeyGenerator(I2PAppContext.getGlobalContext());
diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java
index a411b00998..87e5bffca0 100644
--- a/router/java/src/net/i2p/router/RouterVersion.java
+++ b/router/java/src/net/i2p/router/RouterVersion.java
@@ -18,7 +18,7 @@ public class RouterVersion {
     /** deprecated */
     public final static String ID = "Monotone";
     public final static String VERSION = CoreVersion.VERSION;
-    public final static long BUILD = 0;
+    public final static long BUILD = 1;
 
     /** for example "-test" */
     public final static String EXTRA = "";
diff --git a/router/java/src/net/i2p/router/startup/WorkingDir.java b/router/java/src/net/i2p/router/startup/WorkingDir.java
index fc9ae45f80..815c4d0504 100644
--- a/router/java/src/net/i2p/router/startup/WorkingDir.java
+++ b/router/java/src/net/i2p/router/startup/WorkingDir.java
@@ -462,7 +462,6 @@ public class WorkingDir {
         if (!src.exists()) return false;
         boolean rv = true;
 
-        byte buf[] = new byte[4096];
         FileInputStream in = null;
         FileOutputStream out = null;
         try {
-- 
GitLab