[libmath-prime-util-perl] 11/33: No validation means we weren't stripping weirdness from input bit counts. Use int("bits") to normalize.

Partha P. Mukherjee ppm-guest at moszumanska.debian.org
Thu May 21 18:51:41 UTC 2015


This is an automated email from the git hooks/post-receive script.

ppm-guest pushed a commit to annotated tag v0.37
in repository libmath-prime-util-perl.

commit 987e1d8305fbff6db4d6edd61b1591df2358f7d9
Author: Dana Jacobsen <dana at acm.org>
Date:   Tue Jan 21 08:31:55 2014 -0800

    No validation means we weren't stripping weirdness from input bit counts.
    Use int("bits") to normalize.
---
 lib/Math/Prime/Util/RandomPrimes.pm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/Math/Prime/Util/RandomPrimes.pm b/lib/Math/Prime/Util/RandomPrimes.pm
index 057ba97..2b7b0fa 100644
--- a/lib/Math/Prime/Util/RandomPrimes.pm
+++ b/lib/Math/Prime/Util/RandomPrimes.pm
@@ -93,7 +93,7 @@ sub _set_randf {
       return 0 if $bits <= 0;
       return ($_BRS->irand() >> (32-$bits))
         if $bits <= 32;
-      return ((($_BRS->irand() << 32) + $_BRS->irand()) >> (64-$bits))
+      return ( (($_BRS->irand() << 32) + $_BRS->irand()) >> (64-$bits) )
         if $bits <= 64 && ~0 > 4294967295;
       my $bytes = int(($bits+7)/8);
       my $n = Math::BigInt->from_hex('0x' . $_BRS->bytes_hex($bytes));
@@ -555,6 +555,7 @@ my @_random_nbit_arange;
 sub random_nbit_prime {
   my($bits) = @_;
   croak "random_nbit_prime, bits must be >= 2" unless $bits >= 2;
+  $bits = int("$bits");
 
   _set_randf();
 
@@ -691,6 +692,7 @@ sub random_nbit_prime {
 sub random_maurer_prime {
   my $k = shift;
   croak "random_maurer_prime, bits must be >= 2" unless $k >= 2;
+  $k = int("$k");
 
   return random_nbit_prime($k)  if $k <= MPU_MAXBITS && !OLD_PERL_VERSION;
 
@@ -703,6 +705,7 @@ sub random_maurer_prime {
 sub random_maurer_prime_with_cert {
   my $k = shift;
   croak "random_maurer_prime, bits must be >= 2" unless $k >= 2;
+  $k = int("$k");
 
   # This should never happen.  Trap now to prevent infinite loop.
   croak "number of bits must not be a bigint" if ref($k) eq 'Math::BigInt';
@@ -822,6 +825,7 @@ sub random_maurer_prime_with_cert {
 sub random_strong_prime {
   my $t = shift;
   croak "random_strong_prime, bits must be >= 128" unless $t >= 128;
+  $t = int("$t");
 
   croak "Random strong primes must be >= 173 bits on old Perl"
     if OLD_PERL_VERSION && MPU_64BIT && $t < 173;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libmath-prime-util-perl.git



More information about the Pkg-perl-cvs-commits mailing list