From 5348ed91bc946c5d4c01438c320f5af23c71d7b2 Mon Sep 17 00:00:00 2001 From: Martin Schanzenbach Date: Fri, 3 Aug 2012 15:20:54 +0000 Subject: -leaks --- src/gns/gnunet-gns-proxy.c | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'src/gns') diff --git a/src/gns/gnunet-gns-proxy.c b/src/gns/gnunet-gns-proxy.c index fee244443..2453cd9d3 100644 --- a/src/gns/gnunet-gns-proxy.c +++ b/src/gns/gnunet-gns-proxy.c @@ -1002,6 +1002,7 @@ mhd_content_free (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { struct ProxyCurlTask *ctask = cls; + struct ProxyUploadData *pdata = ctask->upload_data_head; GNUNET_assert (NULL == ctask->pp_match_head); if (NULL != ctask->headers) @@ -1016,6 +1017,18 @@ mhd_content_free (void *cls, if (NULL != ctask->post_handler) MHD_destroy_post_processor (ctask->post_handler); + for (; pdata != NULL; pdata = ctask->upload_data_head) + { + GNUNET_CONTAINER_DLL_remove (ctask->upload_data_head, + ctask->upload_data_tail, + pdata); + GNUNET_free_non_null (pdata->filename); + GNUNET_free_non_null (pdata->content_type); + GNUNET_free_non_null (pdata->key); + GNUNET_free_non_null (pdata->value); + GNUNET_free (pdata); + } + GNUNET_free (ctask); } @@ -3071,6 +3084,7 @@ do_shutdown (void *cls, struct NetworkHandleList *tmp_nh; struct ProxyCurlTask *ctask; struct ProxyCurlTask *ctask_tmp; + struct ProxyUploadData *pdata; GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Shutting down...\n"); @@ -3149,8 +3163,20 @@ do_shutdown (void *cls, if (NULL != ctask->response) MHD_destroy_response (ctask->response); - //FIXME free pdata here + pdata = ctask->upload_data_head; + //FIXME free pdata here + for (; pdata != NULL; pdata = ctask->upload_data_head) + { + GNUNET_CONTAINER_DLL_remove (ctask->upload_data_head, + ctask->upload_data_tail, + pdata); + GNUNET_free_non_null (pdata->filename); + GNUNET_free_non_null (pdata->content_type); + GNUNET_free_non_null (pdata->key); + GNUNET_free_non_null (pdata->value); + GNUNET_free (pdata); + } GNUNET_free (ctask); } -- cgit v1.2.3