[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r13241 - gnunet/src/util
From: |
gnunet |
Subject: |
[GNUnet-SVN] r13241 - gnunet/src/util |
Date: |
Fri, 8 Oct 2010 18:13:16 +0200 |
Author: grothoff
Date: 2010-10-08 18:13:16 +0200 (Fri, 08 Oct 2010)
New Revision: 13241
Modified:
gnunet/src/util/crypto_ksk.c
Log:
better
Modified: gnunet/src/util/crypto_ksk.c
===================================================================
--- gnunet/src/util/crypto_ksk.c 2010-10-08 16:07:12 UTC (rev 13240)
+++ gnunet/src/util/crypto_ksk.c 2010-10-08 16:13:16 UTC (rev 13241)
@@ -292,13 +292,12 @@
gcry_mpi_t prime, pminus1, val_2, val_3, result;
unsigned int i;
unsigned int step;
- unsigned int *mods;
+ unsigned int mods[no_of_small_prime_numbers];
gcry_mpi_t tmp;
gcry_mpi_t sp;
GNUNET_assert (nbits >= 16);
- mods = GNUNET_malloc (no_of_small_prime_numbers * sizeof (*mods));
/* Make nbits fit into mpz_t implementation. */
val_2 = gcry_mpi_set_ui (NULL, 2);
val_3 = gcry_mpi_set_ui (NULL, 3);
@@ -306,6 +305,8 @@
result = gcry_mpi_new(0);
pminus1 = gcry_mpi_new(0);
*ptest = gcry_mpi_new(0);
+ tmp = gcry_mpi_new (0);
+ sp = gcry_mpi_new (0);
while (1)
{
/* generate a random number */
@@ -319,8 +320,6 @@
gcry_mpi_set_bit (prime, 0);
/* Calculate all remainders. */
- tmp = gcry_mpi_new (0);
- sp = gcry_mpi_new (0);
for (i = 0; i < no_of_small_prime_numbers; i++)
{
size_t written;
@@ -328,11 +327,12 @@
gcry_mpi_set_ui(sp, small_prime_numbers[i]);
gcry_mpi_div (NULL, tmp, prime, sp, -1);
mods[i] = 0;
- written = sizeof (*mods);
- gcry_mpi_print (GCRYMPI_FMT_USG, (unsigned char *) &mods[i],
sizeof(*mods), &written, tmp);
- }
- gcry_mpi_release (sp);
- gcry_mpi_release (tmp);
+ written = sizeof (unsigned int);
+ GNUNET_assert (0 ==
+ gcry_mpi_print (GCRYMPI_FMT_USG,
+ (unsigned char*) &mods[i], written,
&written,
+ tmp));
+ }
/* Now try some primes starting with prime. */
for (step = 0; step < 20000; step += 2)
{
@@ -358,12 +358,13 @@
if ((!gcry_mpi_cmp_ui (result, 1)) && (is_prime (*ptest, 5, hc)))
{
/* Got it. */
+ gcry_mpi_release (sp);
+ gcry_mpi_release (tmp);
gcry_mpi_release (val_2);
gcry_mpi_release (val_3);
gcry_mpi_release (result);
gcry_mpi_release (pminus1);
gcry_mpi_release (prime);
- GNUNET_free (mods);
return;
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r13241 - gnunet/src/util,
gnunet <=