[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r28529 - gnunet/src/util
From: |
gnunet |
Subject: |
[GNUnet-SVN] r28529 - gnunet/src/util |
Date: |
Mon, 12 Aug 2013 16:05:30 +0200 |
Author: grothoff
Date: 2013-08-12 16:05:30 +0200 (Mon, 12 Aug 2013)
New Revision: 28529
Modified:
gnunet/src/util/crypto_ecc.c
Log:
-fix leaks (kind-of related to #2981)
Modified: gnunet/src/util/crypto_ecc.c
===================================================================
--- gnunet/src/util/crypto_ecc.c 2013-08-12 14:00:31 UTC (rev 28528)
+++ gnunet/src/util/crypto_ecc.c 2013-08-12 14:05:30 UTC (rev 28529)
@@ -975,7 +975,7 @@
gcry_ctx_t ctx;
GNUNET_assert (0 == gcry_mpi_ec_new (&ctx, NULL, CURVE));
- n = gcry_mpi_ec_get_mpi ("n", ctx, 0 /* no copy */);
+ n = gcry_mpi_ec_get_mpi ("n", ctx, 1);
GNUNET_CRYPTO_ecc_key_get_public (priv, &pub);
h = derive_h (&pub, label, context);
mpi_scan (&x, priv->d, sizeof (priv->d));
@@ -983,6 +983,8 @@
gcry_mpi_mulm (d, h, x, n);
gcry_mpi_release (h);
gcry_mpi_release (x);
+ gcry_mpi_release (n);
+ gcry_ctx_release (ctx);
ret = GNUNET_new (struct GNUNET_CRYPTO_EccPrivateKey);
mpi_print (ret->d, sizeof (ret->d), d);
gcry_mpi_release (d);
@@ -1028,7 +1030,7 @@
/* calulcate h_mod_n = h % n */
h = derive_h (pub, label, context);
- n = gcry_mpi_ec_get_mpi ("n", ctx, 0 /* no copy */);
+ n = gcry_mpi_ec_get_mpi ("n", ctx, 1);
h_mod_n = gcry_mpi_new (256);
gcry_mpi_mod (h_mod_n, h, n);
/* calculate v = h_mod_n * q */
@@ -1036,6 +1038,7 @@
gcry_mpi_ec_mul (v, h_mod_n, q, ctx);
gcry_mpi_release (h_mod_n);
gcry_mpi_release (h);
+ gcry_mpi_release (n);
gcry_mpi_point_release (q);
/* convert point 'v' to public key that we return */
point_to_public_key (v, ctx, result);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r28529 - gnunet/src/util,
gnunet <=