From: Philipp Tölke Date: Tue, 2 Aug 2011 07:34:30 +0000 (+0000) Subject: memory-leaks X-Git-Tag: initial-import-from-subversion-38251~17536 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=726c3e734871747854475792050311a4254205ac;p=oweals%2Fgnunet.git memory-leaks --- diff --git a/src/vpn/gnunet-daemon-exit.c b/src/vpn/gnunet-daemon-exit.c index d29765627..de735e88c 100644 --- a/src/vpn/gnunet-daemon-exit.c +++ b/src/vpn/gnunet-daemon-exit.c @@ -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); diff --git a/src/vpn/gnunet-daemon-vpn.c b/src/vpn/gnunet-daemon-vpn.c index 45f0f3054..25fa04c97 100644 --- a/src/vpn/gnunet-daemon-vpn.c +++ b/src/vpn/gnunet-daemon-vpn.c @@ -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); diff --git a/src/vpn/gnunet-service-dns.c b/src/vpn/gnunet-service-dns.c index 111dd5293..ce27fe6a0 100644 --- a/src/vpn/gnunet-service-dns.c +++ b/src/vpn/gnunet-service-dns.c @@ -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; }