gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r23070 - gnunet/src/gns


From: gnunet
Subject: [GNUnet-SVN] r23070 - gnunet/src/gns
Date: Fri, 3 Aug 2012 17:20:54 +0200

Author: schanzen
Date: 2012-08-03 17:20:54 +0200 (Fri, 03 Aug 2012)
New Revision: 23070

Modified:
   gnunet/src/gns/gnunet-gns-proxy.c
Log:
-leaks

Modified: gnunet/src/gns/gnunet-gns-proxy.c
===================================================================
--- gnunet/src/gns/gnunet-gns-proxy.c   2012-08-03 14:54:17 UTC (rev 23069)
+++ gnunet/src/gns/gnunet-gns-proxy.c   2012-08-03 15:20:54 UTC (rev 23070)
@@ -1002,6 +1002,7 @@
                   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,7 +1017,19 @@
   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 @@
   struct NetworkHandleList *tmp_nh;
   struct ProxyCurlTask *ctask;
   struct ProxyCurlTask *ctask_tmp;
+  struct ProxyUploadData *pdata;
   
   GNUNET_log (GNUNET_ERROR_TYPE_INFO,
               "Shutting down...\n");
@@ -3149,9 +3163,21 @@
     if (NULL != ctask->response)
       MHD_destroy_response (ctask->response);
 
+    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);
   }
   curl_multi_cleanup (curl_multi);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]