diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2011-06-29 12:20:39 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2011-06-29 12:20:39 +0000 |
commit | af1a9624375e5b8ff005aa421baa11189c5ccfe4 (patch) | |
tree | 815d2c9cbc2d45e9013e50af240f9b50c26f7470 | |
parent | 7a3ae0e57d0eb0d56d839134ddc19b23fd2b5ba7 (diff) | |
download | gnunet-af1a9624375e5b8ff005aa421baa11189c5ccfe4.tar.gz gnunet-af1a9624375e5b8ff005aa421baa11189c5ccfe4.zip |
fixing memory leak
-rw-r--r-- | src/transport/plugin_transport_http.c | 15 |
1 files 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, | |||
580 | GNUNET_asprintf(&url, | 580 | GNUNET_asprintf(&url, |
581 | "%s://%s/%s;%u", PROTOCOL_PREFIX, addr_str, | 581 | "%s://%s/%s;%u", PROTOCOL_PREFIX, addr_str, |
582 | (char *) (&plugin->my_ascii_hash_ident),id); | 582 | (char *) (&plugin->my_ascii_hash_ident),id); |
583 | GNUNET_free_non_null(addr_str); | ||
584 | return url; | 583 | return url; |
585 | } | 584 | } |
586 | 585 | ||
@@ -2840,9 +2839,9 @@ http_plugin_address_to_string (void *cls, | |||
2840 | struct sockaddr_in a4; | 2839 | struct sockaddr_in a4; |
2841 | struct sockaddr_in6 a6; | 2840 | struct sockaddr_in6 a6; |
2842 | char * address; | 2841 | char * address; |
2843 | char * ret; | 2842 | static char rbuf[INET6_ADDRSTRLEN + 13]; |
2844 | uint16_t port; | 2843 | uint16_t port; |
2845 | unsigned int res; | 2844 | int res; |
2846 | 2845 | ||
2847 | if (addrlen == sizeof (struct IPv6HttpAddress)) | 2846 | if (addrlen == sizeof (struct IPv6HttpAddress)) |
2848 | { | 2847 | { |
@@ -2865,10 +2864,16 @@ http_plugin_address_to_string (void *cls, | |||
2865 | /* invalid address */ | 2864 | /* invalid address */ |
2866 | return NULL; | 2865 | return NULL; |
2867 | } | 2866 | } |
2868 | res = GNUNET_asprintf(&ret,"%s:%u",address,port); | 2867 | |
2868 | res = GNUNET_snprintf (rbuf, | ||
2869 | sizeof (rbuf), | ||
2870 | "%s:%u", | ||
2871 | address, | ||
2872 | port); | ||
2873 | |||
2869 | GNUNET_free (address); | 2874 | GNUNET_free (address); |
2870 | GNUNET_assert(res != 0); | 2875 | GNUNET_assert(res != 0); |
2871 | return ret; | 2876 | return rbuf; |
2872 | } | 2877 | } |
2873 | 2878 | ||
2874 | /** | 2879 | /** |