gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r27143 - gnunet/src/set


From: gnunet
Subject: [GNUnet-SVN] r27143 - gnunet/src/set
Date: Wed, 15 May 2013 13:35:47 +0200

Author: dold
Date: 2013-05-15 13:35:47 +0200 (Wed, 15 May 2013)
New Revision: 27143

Modified:
   gnunet/src/set/gnunet-service-set.c
   gnunet/src/set/gnunet-service-set_union.c
Log:
removed unnecessary malloc


Modified: gnunet/src/set/gnunet-service-set.c
===================================================================
--- gnunet/src/set/gnunet-service-set.c 2013-05-15 10:48:55 UTC (rev 27142)
+++ gnunet/src/set/gnunet-service-set.c 2013-05-15 11:35:47 UTC (rev 27143)
@@ -324,7 +324,7 @@
     return;
   }
 
-  set = GNUNET_new (struct Set);
+  set = NULL;
 
   switch (ntohs (msg->operation))
   {
@@ -336,12 +336,13 @@
       set = _GSS_union_set_create ();
       break;
     default:
-      GNUNET_free (set);
       GNUNET_break (0);
       GNUNET_SERVER_client_disconnect (client);
       return;
   }
 
+  GNUNET_assert (NULL != set);
+
   set->client = client;
   GNUNET_SERVER_client_keep (client);
   set->client_mq = GNUNET_MQ_queue_for_server_client (client);

Modified: gnunet/src/set/gnunet-service-set_union.c
===================================================================
--- gnunet/src/set/gnunet-service-set_union.c   2013-05-15 10:48:55 UTC (rev 
27142)
+++ gnunet/src/set/gnunet-service-set_union.c   2013-05-15 11:35:47 UTC (rev 
27143)
@@ -364,7 +364,35 @@
 }
 
 
+
 /**
+ * Iterator over hash map entries.
+ *
+ * @param cls closure
+ * @param key current key code
+ * @param value value in the hash map
+ * @return GNUNET_YES if we should continue to
+ *         iterate,
+ *         GNUNET_NO if not.
+ */
+static int
+destroy_key_to_element_iter (void *cls,
+                             uint32_t key,
+                             void *value)
+{
+  struct KeyEntry *k = value;
+  
+  while (NULL != k)
+  {
+    struct KeyEntry *k_tmp = k;
+    k = k->next_colliding;
+    GNUNET_free (k_tmp);
+  }
+  return GNUNET_YES;
+}
+
+
+/**
  * Destroy a union operation, and free all resources
  * associated with it.
  *
@@ -400,6 +428,7 @@
   }
   if (NULL != eo->key_to_element)
   {
+    GNUNET_CONTAINER_multihashmap32_iterate (eo->key_to_element, 
destroy_key_to_element_iter, NULL);
     GNUNET_CONTAINER_multihashmap32_destroy (eo->key_to_element);
     eo->key_to_element = NULL;
   }
@@ -1030,6 +1059,8 @@
 
   insert_element (eo, ee);
   send_client_element (eo, &ee->element);
+
+  GNUNET_free (ee);
 }
 
 




reply via email to

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