Author: sback
Date: 2007-03-29 20:53:48 +0000 (Thu, 29 Mar 2007)
New Revision: 12431

Modified:
   trunk/freenet/src/freenet/crypt/DSA.java
Log:
Bugifx: in generateK method, an assertion to avoid an infinite loop if the 
q-DSAGroup value is too small

Modified: trunk/freenet/src/freenet/crypt/DSA.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DSA.java    2007-03-29 20:51:22 UTC (rev 
12430)
+++ trunk/freenet/src/freenet/crypt/DSA.java    2007-03-29 20:53:48 UTC (rev 
12431)
@@ -82,7 +82,9 @@
        }

        private static BigInteger generateK(DSAGroup g, Random r){
-               BigInteger k;
+            assert g.getQ().bitLength() >= DSAGroup.Q_BIT_LENGTH;
+               
+            BigInteger k;
                do {
                        k=new NativeBigInteger(DSAGroup.Q_BIT_LENGTH, r);
                } while ((g.getQ().compareTo(k) < 1) || 
(k.compareTo(BigInteger.ZERO) == 0));


Reply via email to