From af1a9624375e5b8ff005aa421baa11189c5ccfe4 Mon Sep 17 00:00:00 2001 From: Matthias Wachs Date: Wed, 29 Jun 2011 12:20:39 +0000 Subject: fixing memory leak --- src/transport/plugin_transport_http.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/transport/plugin_transport_http.c b/src/transport/plugin_transport_http.c index 51eada0a2..9311c77fd 100644 --- a/src/transport/plugin_transport_http.c +++ b/src/transport/plugin_transport_http.c @@ -580,7 +580,6 @@ create_url(struct Plugin *plugin, GNUNET_asprintf(&url, "%s://%s/%s;%u", PROTOCOL_PREFIX, addr_str, (char *) (&plugin->my_ascii_hash_ident),id); - GNUNET_free_non_null(addr_str); return url; } @@ -2840,9 +2839,9 @@ http_plugin_address_to_string (void *cls, struct sockaddr_in a4; struct sockaddr_in6 a6; char * address; - char * ret; + static char rbuf[INET6_ADDRSTRLEN + 13]; uint16_t port; - unsigned int res; + int res; if (addrlen == sizeof (struct IPv6HttpAddress)) { @@ -2865,10 +2864,16 @@ http_plugin_address_to_string (void *cls, /* invalid address */ return NULL; } - res = GNUNET_asprintf(&ret,"%s:%u",address,port); + + res = GNUNET_snprintf (rbuf, + sizeof (rbuf), + "%s:%u", + address, + port); + GNUNET_free (address); GNUNET_assert(res != 0); - return ret; + return rbuf; } /** -- cgit v1.2.3