Author: saces
Date: 2007-02-10 17:02:37 +0000 (Sat, 10 Feb 2007)
New Revision: 11744

Modified:
   trunk/freenet/src/freenet/keys/ClientSSK.java
   trunk/freenet/src/freenet/keys/USK.java
Log:
fix npe on [U|S]SK keys without extra byte

Modified: trunk/freenet/src/freenet/keys/ClientSSK.java
===================================================================
--- trunk/freenet/src/freenet/keys/ClientSSK.java       2007-02-10 16:19:12 UTC 
(rev 11743)
+++ trunk/freenet/src/freenet/keys/ClientSSK.java       2007-02-10 17:02:37 UTC 
(rev 11744)
@@ -36,6 +36,8 @@
                this.docName = docName;
                this.pubKey = pubKey;
                this.pubKeyHash = pubKeyHash;
+               if(extras == null)
+                       throw new MalformedURLException("No extra bytes in SSK 
- maybe a 0.5 key?");
                if(extras.length < 5)
                        throw new MalformedURLException("Extra bytes too short: 
"+extras.length+" bytes");
                this.cryptoAlgorithm = extras[2];

Modified: trunk/freenet/src/freenet/keys/USK.java
===================================================================
--- trunk/freenet/src/freenet/keys/USK.java     2007-02-10 16:19:12 UTC (rev 
11743)
+++ trunk/freenet/src/freenet/keys/USK.java     2007-02-10 17:02:37 UTC (rev 
11744)
@@ -43,6 +43,8 @@
                this.cryptoKey = cryptoKey;
                this.siteName = siteName;
                this.suggestedEdition = suggestedEdition;
+               if(extra == null)
+                       throw new MalformedURLException("No extra bytes in 
USK");
                // Verify extra bytes, get cryptoAlgorithm
                ClientSSK tmp = new ClientSSK(siteName, pubKeyHash, extra, 
null, cryptoKey);
                cryptoAlgorithm = tmp.cryptoAlgorithm;


Reply via email to