fixing resource leaks
[oweals/gnunet.git] / src / ats / gnunet-service-ats_reservations.c
index c75577cf9297f30aae5ba2e92a532c63a0c07480..cb95ad80f248e765e4ad73b808e5e6c37b0fca85 100644 (file)
@@ -107,11 +107,12 @@ GAS_reservations_set_bandwidth (const struct GNUNET_PeerIdentity *peer,
   }
   if (NULL == tracker)
   {
-    tracker = GNUNET_malloc (sizeof (struct GNUNET_BANDWIDTH_Tracker));
-    GNUNET_BANDWIDTH_tracker_init (tracker, bandwidth_in,
+    tracker = GNUNET_new (struct GNUNET_BANDWIDTH_Tracker);
+    GNUNET_BANDWIDTH_tracker_init (tracker, NULL, NULL, bandwidth_in,
                                    MAX_BANDWIDTH_CARRY_S);
-    GNUNET_CONTAINER_multipeermap_put (trackers, peer, tracker,
-                                       GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY);
+    GNUNET_assert (GNUNET_OK ==
+                   GNUNET_CONTAINER_multipeermap_put (trackers, peer, tracker,
+                                                      GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY));
     return;
   }
   GNUNET_BANDWIDTH_tracker_update_quota (tracker, bandwidth_in);
@@ -137,7 +138,7 @@ GAS_reservations_init ()
  * @return GNUNET_OK (continue to iterate)
  */
 static int
-free_tracker (void *cls, 
+free_tracker (void *cls,
              const struct GNUNET_PeerIdentity *key, void *value)
 {
   struct GNUNET_BANDWIDTH_Tracker *tracker = value;