[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r34509 - gnunet/src/scalarproduct
From: |
gnunet |
Subject: |
[GNUnet-SVN] r34509 - gnunet/src/scalarproduct |
Date: |
Mon, 8 Dec 2014 01:23:43 +0100 |
Author: grothoff
Date: 2014-12-08 01:23:43 +0100 (Mon, 08 Dec 2014)
New Revision: 34509
Modified:
gnunet/src/scalarproduct/gnunet-service-scalarproduct_alice.c
gnunet/src/scalarproduct/gnunet-service-scalarproduct_bob.c
gnunet/src/scalarproduct/test_scalarproduct.conf
Log:
-fix leaks
Modified: gnunet/src/scalarproduct/gnunet-service-scalarproduct_alice.c
===================================================================
--- gnunet/src/scalarproduct/gnunet-service-scalarproduct_alice.c
2014-12-08 00:17:15 UTC (rev 34508)
+++ gnunet/src/scalarproduct/gnunet-service-scalarproduct_alice.c
2014-12-08 00:23:43 UTC (rev 34509)
@@ -224,9 +224,9 @@
* @return #GNUNET_OK (continue to iterate)
*/
static int
-free_element (void *cls,
- const struct GNUNET_HashCode *key,
- void *value)
+free_element_cb (void *cls,
+ const struct GNUNET_HashCode *key,
+ void *value)
{
struct GNUNET_SCALARPRODUCT_Element *e = value;
@@ -273,7 +273,7 @@
if (NULL != s->intersected_elements)
{
GNUNET_CONTAINER_multihashmap_iterate (s->intersected_elements,
- &free_element,
+ &free_element_cb,
s);
GNUNET_CONTAINER_multihashmap_destroy (s->intersected_elements);
s->intersected_elements = NULL;
Modified: gnunet/src/scalarproduct/gnunet-service-scalarproduct_bob.c
===================================================================
--- gnunet/src/scalarproduct/gnunet-service-scalarproduct_bob.c 2014-12-08
00:17:15 UTC (rev 34508)
+++ gnunet/src/scalarproduct/gnunet-service-scalarproduct_bob.c 2014-12-08
00:23:43 UTC (rev 34509)
@@ -308,6 +308,25 @@
/**
+ * Callback used to free the elements in the map.
+ *
+ * @param cls NULL
+ * @param key key of the element
+ * @param value the value to free
+ */
+static int
+free_element_cb (void *cls,
+ const struct GNUNET_HashCode *key,
+ void *value)
+{
+ struct GNUNET_SCALARPRODUCT_Element *element = value;
+
+ GNUNET_free (element);
+ return GNUNET_OK;
+}
+
+
+/**
* Destroy session state, we are done with it.
*
* @param session the session to free elements from
@@ -351,7 +370,9 @@
s));
if (NULL != s->intersected_elements)
{
- /* FIXME: free elements */
+ GNUNET_CONTAINER_multihashmap_iterate (s->intersected_elements,
+ &free_element_cb,
+ NULL);
GNUNET_CONTAINER_multihashmap_destroy (s->intersected_elements);
s->intersected_elements = NULL;
}
@@ -758,6 +779,7 @@
&a[q[i]],
&r_prime[i]));
}
+ gcry_mpi_release (tmp);
// Calculate S' = E(SUM( r_i^2 ))
tmp = compute_square_sum (rand, count);
@@ -765,6 +787,7 @@
tmp,
1,
&session->s_prime);
+ gcry_mpi_release (tmp);
// Calculate S = E(SUM( (r_i + b_i)^2 ))
for (i = 0; i < count; i++)
@@ -774,6 +797,7 @@
tmp,
1,
&session->s);
+ gcry_mpi_release (tmp);
session->r = r;
session->r_prime = r_prime;
@@ -781,7 +805,6 @@
// release rand, b and a
for (i = 0; i < count; i++)
gcry_mpi_release (rand[i]);
- gcry_mpi_release (tmp);
GNUNET_free (session->e_a);
session->e_a = NULL;
GNUNET_free (p);
Modified: gnunet/src/scalarproduct/test_scalarproduct.conf
===================================================================
--- gnunet/src/scalarproduct/test_scalarproduct.conf 2014-12-08 00:17:15 UTC
(rev 34508)
+++ gnunet/src/scalarproduct/test_scalarproduct.conf 2014-12-08 00:23:43 UTC
(rev 34509)
@@ -12,7 +12,7 @@
WORKBITS=0
[scalarproduct-bob]
-#PREFIX = valgrind
+PREFIX = valgrind --leak-check=yes
[scalarproduct-alice]
-#PREFIX = valgrind
\ No newline at end of file
+PREFIX = valgrind --leak-check=yes
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r34509 - gnunet/src/scalarproduct,
gnunet <=