gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [gnunet] branch master updated: fix memory leak


From: gnunet
Subject: [GNUnet-SVN] [gnunet] branch master updated: fix memory leak
Date: Tue, 18 Jun 2019 14:35:05 +0200

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository gnunet.

The following commit(s) were added to refs/heads/master by this push:
     new 6e9bb3405 fix memory leak
6e9bb3405 is described below

commit 6e9bb3405a731442274c6c2fe99983f1d413b1f9
Author: Christian Grothoff <address@hidden>
AuthorDate: Tue Jun 18 14:24:51 2019 +0200

    fix memory leak
---
 src/curl/curl.c | 41 +++++++++++++++++++++--------------------
 1 file changed, 21 insertions(+), 20 deletions(-)

diff --git a/src/curl/curl.c b/src/curl/curl.c
index 749094800..020cdc24f 100644
--- a/src/curl/curl.c
+++ b/src/curl/curl.c
@@ -111,7 +111,6 @@ struct GNUNET_CURL_Job
    * after the job has finished.
    */
   struct curl_slist *job_headers;
-
 };
 
 
@@ -161,7 +160,6 @@ struct GNUNET_CURL_Context
    * Closure for @e cb.
    */
   void *cb_cls;
-
 };
 
 
@@ -213,7 +211,8 @@ GNUNET_CURL_init (GNUNET_CURL_RescheduleCallback cb, void 
*cb_cls)
  * @param header_name name of the header to send.
  */
 void
-GNUNET_CURL_enable_async_scope_header (struct GNUNET_CURL_Context *ctx, const 
char *header_name)
+GNUNET_CURL_enable_async_scope_header (struct GNUNET_CURL_Context *ctx,
+                                       const char *header_name)
 {
   ctx->async_scope_id_header = header_name;
 }
@@ -279,30 +278,26 @@ download_cb (char *bufptr, size_t size, size_t nitems, 
void *cls)
  */
 struct GNUNET_CURL_Job *
 GNUNET_CURL_job_add2 (struct GNUNET_CURL_Context *ctx,
-                     CURL *eh,
-                     const struct curl_slist *job_headers,
-                     GNUNET_CURL_JobCompletionCallback jcc,
-                     void *jcc_cls)
+                      CURL *eh,
+                      const struct curl_slist *job_headers,
+                      GNUNET_CURL_JobCompletionCallback jcc,
+                      void *jcc_cls)
 {
   struct GNUNET_CURL_Job *job;
   struct curl_slist *all_headers = NULL;
 
-  for (const struct curl_slist *curr = job_headers;
-       curr != NULL;
+  for (const struct curl_slist *curr = job_headers; curr != NULL;
        curr = curr->next)
   {
-    GNUNET_assert (
-      NULL != (all_headers =
-                 curl_slist_append (all_headers, curr->data)));
+    GNUNET_assert (NULL !=
+                   (all_headers = curl_slist_append (all_headers, 
curr->data)));
   }
 
-  for (const struct curl_slist *curr = ctx->common_headers;
-       curr != NULL;
+  for (const struct curl_slist *curr = ctx->common_headers; curr != NULL;
        curr = curr->next)
   {
-    GNUNET_assert (
-      NULL != (all_headers =
-                 curl_slist_append (all_headers, curr->data)));
+    GNUNET_assert (NULL !=
+                   (all_headers = curl_slist_append (all_headers, 
curr->data)));
   }
 
   if (NULL != ctx->async_scope_id_header)
@@ -313,8 +308,10 @@ GNUNET_CURL_job_add2 (struct GNUNET_CURL_Context *ctx,
     if (GNUNET_YES == scope.have_scope)
     {
       char *aid_header = NULL;
-      aid_header = GNUNET_STRINGS_data_to_string_alloc (&scope.scope_id,
-                                                        sizeof (struct 
GNUNET_AsyncScopeId));
+      aid_header =
+        GNUNET_STRINGS_data_to_string_alloc (&scope.scope_id,
+                                             sizeof (
+                                               struct GNUNET_AsyncScopeId));
       GNUNET_assert (NULL != aid_header);
       GNUNET_assert (NULL != curl_slist_append (all_headers, aid_header));
       GNUNET_free (aid_header);
@@ -378,7 +375,9 @@ GNUNET_CURL_job_add (struct GNUNET_CURL_Context *ctx,
                      GNUNET_CURL_JobCompletionCallback jcc,
                      void *jcc_cls)
 {
+  struct GNUNET_CURL_Job *job;
   struct curl_slist *job_headers = NULL;
+
   if (GNUNET_YES == add_json)
   {
     GNUNET_assert (
@@ -386,7 +385,9 @@ GNUNET_CURL_job_add (struct GNUNET_CURL_Context *ctx,
                  curl_slist_append (NULL, "Content-Type: application/json")));
   }
 
-  return GNUNET_CURL_job_add2 (ctx, eh, job_headers, jcc, jcc_cls);
+  job = GNUNET_CURL_job_add2 (ctx, eh, job_headers, jcc, jcc_cls);
+  curl_slist_free_all (job_headers);
+  return job;
 }
 
 

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

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