memory-leaks
authorPhilipp Tölke <toelke@in.tum.de>
Tue, 2 Aug 2011 07:34:30 +0000 (07:34 +0000)
committerPhilipp Tölke <toelke@in.tum.de>
Tue, 2 Aug 2011 07:34:30 +0000 (07:34 +0000)
src/vpn/gnunet-daemon-exit.c
src/vpn/gnunet-daemon-vpn.c
src/vpn/gnunet-service-dns.c

index d29765627c7d1075c908343d8376afec0ff8e35a..de735e88c2736e3709714df5e249096fadb21100 100644 (file)
@@ -259,6 +259,7 @@ send_udp_to_peer_notify_callback (void *cls, size_t size, void *buf)
                                                                                  send_udp_to_peer_notify_callback, element->cls);
       /* save the handle */
       GNUNET_MESH_tunnel_set_data(*tunnel, th);
+      GNUNET_free(element);
     }
 
   GNUNET_free (cls);
index 45f0f30544e4cc7d916ca9475eaf601382269879..25fa04c9743718cc7c02694a1e6dc4b4fa848c74 100644 (file)
@@ -291,6 +291,7 @@ send_pkt_to_peer_notify_callback (void *cls, size_t size, void *buf)
                                                                                  send_pkt_to_peer_notify_callback, element->cls);
       /* save the handle */
       GNUNET_MESH_tunnel_set_data(*tunnel, th);
+      GNUNET_free(element);
     }
   GNUNET_free (cls);
 
index 111dd529310f2a38fea6bc6df0fb815a88f74bf3..ce27fe6a0b462baec508f62eb32622dd1fb7ae58 100644 (file)
@@ -302,6 +302,7 @@ mesh_send (void *cls, size_t size, void *buf)
                                                                                  element->cb, element->cls);
       /* save the handle */
       GNUNET_MESH_tunnel_set_data(cls_->tunnel, th);
+      GNUNET_free(element);
     }
 
   return size;
@@ -734,6 +735,8 @@ receive_query(void *cls __attribute__((unused)),
     query_states[dns->s.id].local_port = pkt->src_port;
     query_states[dns->s.id].remote_ip = pkt->orig_to;
     query_states[dns->s.id].namelen = strlen((char*)dns->data) + 1;
+    if (query_states[dns->s.id].name != NULL)
+      GNUNET_free(query_states[dns->s.id].name);
     query_states[dns->s.id].name = GNUNET_malloc(query_states[dns->s.id].namelen);
     memcpy(query_states[dns->s.id].name, dns->data, query_states[dns->s.id].namelen);
 
@@ -859,7 +862,7 @@ receive_query(void *cls __attribute__((unused)),
         memcpy(&cls_->dns, dns, cls_->hdr.size - sizeof(struct GNUNET_MessageHeader));
         GNUNET_SCHEDULER_add_now(send_mesh_query, cls_);
 
-        goto out;
+        goto outfree;
       }