- leaks
authorBart Polot <bart@net.in.tum.de>
Mon, 27 Aug 2012 15:50:25 +0000 (15:50 +0000)
committerBart Polot <bart@net.in.tum.de>
Mon, 27 Aug 2012 15:50:25 +0000 (15:50 +0000)
src/mesh/gnunet-service-mesh.c

index 4f032835e69ef5719f42553f9ff3b74e3bcce79e..44610d60e1ba2d16b71c8eae578f98aca3e8118f 100644 (file)
@@ -3077,7 +3077,21 @@ tunnel_destroy_child (void *cls,
                       const struct GNUNET_HashCode * key,
                       void *value)
 {
-  GNUNET_free (value);
+  struct MeshTunnelChildInfo *cinfo = value;
+  struct MeshTunnel *t = cls;
+  unsigned int c;
+  unsigned int i;
+
+  for (c = 0; c < cinfo->send_buffer_n; c++)
+  {
+    i = (cinfo->send_buffer_start + c) % t->fwd_queue_max;
+    if (NULL != cinfo->send_buffer[i])
+      queue_destroy(cinfo->send_buffer[i], GNUNET_YES);
+    else
+      GNUNET_break (0);
+  }
+  GNUNET_free_non_null (cinfo->send_buffer);
+  GNUNET_free (cinfo);
   return GNUNET_YES;
 }