gnunet-svn
[Top][All Lists]
Advanced

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

[gnurl] 12/222: curl: fix memory leaked by parse_metalink()


From: gnunet
Subject: [gnurl] 12/222: curl: fix memory leaked by parse_metalink()
Date: Thu, 07 Nov 2019 00:08:28 +0100

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

ng0 pushed a commit to branch master
in repository gnurl.

commit 1ca91bcdb588dc6c25d345f2411fdba314433732
Author: Kamil Dudka <address@hidden>
AuthorDate: Wed Sep 11 16:32:11 2019 +0200

    curl: fix memory leaked by parse_metalink()
    
    This commit fixes a regression introduced by curl-7_65_3-5-gb88940850.
    Detected by tests 2005, 2008, 2009, 2010, 2011, and 2012 with valgrind
    and libmetalink enabled.
    
    Closes #4326
---
 src/tool_metalink.c | 2 +-
 src/tool_metalink.h | 3 +++
 src/tool_operate.c  | 4 ++++
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/tool_metalink.c b/src/tool_metalink.c
index 0740407f9..cd5a7d650 100644
--- a/src/tool_metalink.c
+++ b/src/tool_metalink.c
@@ -965,7 +965,7 @@ static void delete_metalink_resource(metalink_resource *res)
   Curl_safefree(res);
 }
 
-static void delete_metalinkfile(metalinkfile *mlfile)
+void delete_metalinkfile(metalinkfile *mlfile)
 {
   metalink_resource *res;
   if(mlfile == NULL) {
diff --git a/src/tool_metalink.h b/src/tool_metalink.h
index 1e367033c..f5ec306f7 100644
--- a/src/tool_metalink.h
+++ b/src/tool_metalink.h
@@ -105,6 +105,8 @@ extern const digest_params SHA256_DIGEST_PARAMS[1];
  * Counts the resource in the metalinkfile.
  */
 int count_next_metalink_resource(metalinkfile *mlfile);
+
+void delete_metalinkfile(metalinkfile *mlfile);
 void clean_metalink(struct OperationConfig *config);
 
 /*
@@ -158,6 +160,7 @@ void metalink_cleanup(void);
 #else /* USE_METALINK */
 
 #define count_next_metalink_resource(x)  0
+#define delete_metalinkfile(x)  (void)x
 #define clean_metalink(x)  (void)x
 
 /* metalink_cleanup() takes no arguments */
diff --git a/src/tool_operate.c b/src/tool_operate.c
index d2ad9642d..09dfc0c84 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -2073,6 +2073,10 @@ static CURLcode serial_transfers(struct GlobalConfig 
*global,
     result = post_transfer(global, share, per, result, &retry);
     if(retry)
       continue;
+
+    /* Release metalink related resources here */
+    delete_metalinkfile(per->mlfile);
+
     per = del_transfer(per);
 
     /* Bail out upon critical errors or --fail-early */

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



reply via email to

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