gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r34215 - gnunet/src/secretsharing


From: gnunet
Subject: [GNUnet-SVN] r34215 - gnunet/src/secretsharing
Date: Sun, 24 Aug 2014 05:29:56 +0200

Author: dold
Date: 2014-08-24 05:29:56 +0200 (Sun, 24 Aug 2014)
New Revision: 34215

Modified:
   gnunet/src/secretsharing/gnunet-service-secretsharing.c
Log:
secretsharing cleanup


Modified: gnunet/src/secretsharing/gnunet-service-secretsharing.c
===================================================================
--- gnunet/src/secretsharing/gnunet-service-secretsharing.c     2014-08-24 
02:49:53 UTC (rev 34214)
+++ gnunet/src/secretsharing/gnunet-service-secretsharing.c     2014-08-24 
03:29:56 UTC (rev 34215)
@@ -1001,7 +1001,19 @@
     gcry_mpi_mulm (xres, xres, b_1, elgamal_q);
   }
 
-  // FIXME: cleanup!
+  gcry_mpi_release (a_1);
+  gcry_mpi_release (a_2);
+  gcry_mpi_release (b_1);
+  gcry_mpi_release (b_2);
+  gcry_mpi_release (big_a);
+  gcry_mpi_release (big_b);
+  gcry_mpi_release (big_t);
+  gcry_mpi_release (n);
+  gcry_mpi_release (t_1);
+  gcry_mpi_release (t_2);
+  gcry_mpi_release (t);
+  gcry_mpi_release (r);
+  gcry_mpi_release (v);
 }
 
 
@@ -1040,6 +1052,7 @@
   gcry_mpi_t tmp2;
   gcry_mpi_t y;
   gcry_mpi_t big_y;
+  int res;
 
   GNUNET_assert (NULL != (n_sq = gcry_mpi_new (0)));
   GNUNET_assert (NULL != (tmp1 = gcry_mpi_new (0)));
@@ -1068,7 +1081,8 @@
   if (0 == gcry_mpi_cmp (t1, tmp1))
   {
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "fair encryption invalid (t1)\n");
-    return GNUNET_NO;
+    res = GNUNET_NO;
+    goto cleanup;
   }
 
   gcry_mpi_powm (big_y, big_y, e, n_sq);
@@ -1086,10 +1100,26 @@
   if (0 == gcry_mpi_cmp (t2, tmp1))
   {
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "fair encryption invalid (t2)\n");
-    return GNUNET_NO;
+    res = GNUNET_NO;
+    goto cleanup;
   }
 
-  return GNUNET_YES;
+  res = GNUNET_YES;
+
+cleanup:
+
+  gcry_mpi_release (n);
+  gcry_mpi_release (n_sq);
+  gcry_mpi_release (z);
+  gcry_mpi_release (t1);
+  gcry_mpi_release (t2);
+  gcry_mpi_release (e);
+  gcry_mpi_release (w);
+  gcry_mpi_release (tmp1);
+  gcry_mpi_release (tmp2);
+  gcry_mpi_release (y);
+  gcry_mpi_release (big_y);
+  return res;
 }
 
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]