diff options
author | Christian Grothoff <christian@grothoff.org> | 2013-12-05 20:51:32 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2013-12-05 20:51:32 +0000 |
commit | 709c048dc1e24f0b1cde544c41d60f898a698304 (patch) | |
tree | da2f6a1d868c045a489709cc13630c2127912955 | |
parent | 3d6fe3cc4bb54d37737b3be87b73252fd78f6276 (diff) | |
download | gnunet-709c048dc1e24f0b1cde544c41d60f898a698304.tar.gz gnunet-709c048dc1e24f0b1cde544c41d60f898a698304.zip |
-fix leaks
-rw-r--r-- | src/gns/gnunet-bcd.c | 5 | ||||
-rw-r--r-- | src/gns/gnunet-gns-proxy.c | 16 |
2 files changed, 10 insertions, 11 deletions
diff --git a/src/gns/gnunet-bcd.c b/src/gns/gnunet-bcd.c index 5c57cbafd..0b8e53326 100644 --- a/src/gns/gnunet-bcd.c +++ b/src/gns/gnunet-bcd.c | |||
@@ -249,6 +249,10 @@ access_handler_callback (void *cls, struct MHD_Connection *connection, | |||
249 | { | 249 | { |
250 | GNUNET_break (0); | 250 | GNUNET_break (0); |
251 | GNUNET_break (0 == CLOSE (fd)); | 251 | GNUNET_break (0 == CLOSE (fd)); |
252 | GNUNET_free (deffile); | ||
253 | GNUNET_free (p); | ||
254 | GNUNET_DISK_directory_remove (tmp); | ||
255 | GNUNET_free (tmp); | ||
252 | return MHD_NO; | 256 | return MHD_NO; |
253 | } | 257 | } |
254 | (void) MHD_add_response_header (response, | 258 | (void) MHD_add_response_header (response, |
@@ -258,6 +262,7 @@ access_handler_callback (void *cls, struct MHD_Connection *connection, | |||
258 | MHD_HTTP_OK, | 262 | MHD_HTTP_OK, |
259 | response); | 263 | response); |
260 | MHD_destroy_response (response); | 264 | MHD_destroy_response (response); |
265 | GNUNET_free (deffile); | ||
261 | GNUNET_free (p); | 266 | GNUNET_free (p); |
262 | GNUNET_DISK_directory_remove (tmp); | 267 | GNUNET_DISK_directory_remove (tmp); |
263 | GNUNET_free (tmp); | 268 | GNUNET_free (tmp); |
diff --git a/src/gns/gnunet-gns-proxy.c b/src/gns/gnunet-gns-proxy.c index e464ffa3e..38324eb41 100644 --- a/src/gns/gnunet-gns-proxy.c +++ b/src/gns/gnunet-gns-proxy.c | |||
@@ -813,34 +813,28 @@ mhd_content_cb (void *cls, | |||
813 | static int | 813 | static int |
814 | check_ssl_certificate (struct Socks5Request *s5r) | 814 | check_ssl_certificate (struct Socks5Request *s5r) |
815 | { | 815 | { |
816 | struct curl_tlsinfo tlsinfo; | ||
817 | unsigned int cert_list_size; | 816 | unsigned int cert_list_size; |
818 | const gnutls_datum_t *chainp; | 817 | const gnutls_datum_t *chainp; |
819 | union { | 818 | const struct curl_tlsinfo *tlsinfo; |
820 | struct curl_tlsinfo *tlsinfo; | ||
821 | struct curl_slist *to_slist; | ||
822 | } gptr; | ||
823 | char certdn[GNUNET_DNSPARSER_MAX_NAME_LENGTH + 3]; | 819 | char certdn[GNUNET_DNSPARSER_MAX_NAME_LENGTH + 3]; |
824 | size_t size; | 820 | size_t size; |
825 | gnutls_x509_crt_t x509_cert; | 821 | gnutls_x509_crt_t x509_cert; |
826 | int rc; | 822 | int rc; |
827 | const char *name; | 823 | const char *name; |
828 | 824 | ||
829 | memset (&tlsinfo, 0, sizeof (tlsinfo)); | ||
830 | gptr.tlsinfo = &tlsinfo; | ||
831 | if (CURLE_OK != | 825 | if (CURLE_OK != |
832 | curl_easy_getinfo (s5r->curl, | 826 | curl_easy_getinfo (s5r->curl, |
833 | CURLINFO_TLS_SESSION, | 827 | CURLINFO_TLS_SESSION, |
834 | &gptr)) | 828 | &tlsinfo)) |
835 | return GNUNET_SYSERR; | 829 | return GNUNET_SYSERR; |
836 | if (CURLSSLBACKEND_GNUTLS != tlsinfo.ssl_backend) | 830 | if (CURLSSLBACKEND_GNUTLS != tlsinfo->ssl_backend) |
837 | { | 831 | { |
838 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 832 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
839 | _("Unsupported CURL SSL backend %d\n"), | 833 | _("Unsupported CURL SSL backend %d\n"), |
840 | tlsinfo.ssl_backend); | 834 | tlsinfo->ssl_backend); |
841 | return GNUNET_SYSERR; | 835 | return GNUNET_SYSERR; |
842 | } | 836 | } |
843 | chainp = gnutls_certificate_get_peers (tlsinfo.internals, &cert_list_size); | 837 | chainp = gnutls_certificate_get_peers (tlsinfo->internals, &cert_list_size); |
844 | if ( (! chainp) || (0 == cert_list_size) ) | 838 | if ( (! chainp) || (0 == cert_list_size) ) |
845 | return GNUNET_SYSERR; | 839 | return GNUNET_SYSERR; |
846 | 840 | ||