aboutsummaryrefslogtreecommitdiff
path: root/src/gns
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2013-12-05 20:51:32 +0000
committerChristian Grothoff <christian@grothoff.org>2013-12-05 20:51:32 +0000
commit709c048dc1e24f0b1cde544c41d60f898a698304 (patch)
treeda2f6a1d868c045a489709cc13630c2127912955 /src/gns
parent3d6fe3cc4bb54d37737b3be87b73252fd78f6276 (diff)
downloadgnunet-709c048dc1e24f0b1cde544c41d60f898a698304.tar.gz
gnunet-709c048dc1e24f0b1cde544c41d60f898a698304.zip
-fix leaks
Diffstat (limited to 'src/gns')
-rw-r--r--src/gns/gnunet-bcd.c5
-rw-r--r--src/gns/gnunet-gns-proxy.c16
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,
813static int 813static int
814check_ssl_certificate (struct Socks5Request *s5r) 814check_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