From dc14abd4d3685314647304eb89fbf2c5ee736162 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Sat, 5 Jul 2014 21:58:48 +0000
Subject: [PATCH] BFNS: Trim whitespace from hosts.txt when importing
 DataStructureImpl: Throw unique exception on bad base 64

---
 core/java/src/net/i2p/client/naming/BlockfileNamingService.java | 2 +-
 core/java/src/net/i2p/data/DataStructureImpl.java               | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/core/java/src/net/i2p/client/naming/BlockfileNamingService.java b/core/java/src/net/i2p/client/naming/BlockfileNamingService.java
index 9194d81aa1..d7860a727e 100644
--- a/core/java/src/net/i2p/client/naming/BlockfileNamingService.java
+++ b/core/java/src/net/i2p/client/naming/BlockfileNamingService.java
@@ -240,7 +240,7 @@ public class BlockfileNamingService extends DummyNamingService {
                             if (line.length() < split + 1)
                                 continue;
                         }
-                        String b64 = line.substring(split+1);   //.trim() ??????????????
+                        String b64 = line.substring(split+1).trim();
                         Destination d = lookupBase64(b64);
                         if (d != null) {
                             addEntry(rv, hostsfile, key, d, sourceMsg);
diff --git a/core/java/src/net/i2p/data/DataStructureImpl.java b/core/java/src/net/i2p/data/DataStructureImpl.java
index 26e655af78..cc70f56a0d 100644
--- a/core/java/src/net/i2p/data/DataStructureImpl.java
+++ b/core/java/src/net/i2p/data/DataStructureImpl.java
@@ -37,6 +37,7 @@ public abstract class DataStructureImpl implements DataStructure, Serializable {
     public void fromBase64(String data) throws DataFormatException {
         if (data == null) throw new DataFormatException("Null data passed in");
         byte bytes[] = Base64.decode(data);
+        if (bytes == null) throw new DataFormatException("Bad Base64 \"" + data + '"');
         fromByteArray(bytes);
     }
 
-- 
GitLab