aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Holme <steve_holme@hotmail.com>2014-02-10 23:01:03 +0000
committerSteve Holme <steve_holme@hotmail.com>2014-02-10 22:23:52 +0000
commitc8d1733d12ac6cb283f21f3f647c522aabeb2744 (patch)
treeb335811c171ba36e4796c1fb14397c2aa9cfa37e
parent3a0d1bebba5969fb91ecfb40c27ca95eb2357f45 (diff)
tool_cfgable: Moved easy handle cleanup to fix pingpong logout issues
Commmit c5f8e2f5f4 removed the easy handle clean-up from tool_operate, letting the code that was already present in free_config_fields() perform the task. Unfortunately, this wasn't the correct place to do this as it broke protocols, that would perform a logout, as the main clean-up in tool_main had already been called.
-rw-r--r--src/tool_cfgable.c5
-rw-r--r--src/tool_operate.c5
2 files changed, 5 insertions, 5 deletions
diff --git a/src/tool_cfgable.c b/src/tool_cfgable.c
index 3ea73dabd..818d7f4d4 100644
--- a/src/tool_cfgable.c
+++ b/src/tool_cfgable.c
@@ -47,11 +47,6 @@ static void free_config_fields(struct Configurable *config)
{
struct getout *urlnode;
- if(config->easy) {
- curl_easy_cleanup(config->easy);
- config->easy = NULL;
- }
-
Curl_safefree(config->random_file);
Curl_safefree(config->egd_file);
Curl_safefree(config->useragent);
diff --git a/src/tool_operate.c b/src/tool_operate.c
index b28321043..9c61623fe 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -1806,6 +1806,11 @@ static int operate_do(struct Configurable *config)
static void operate_free(struct Configurable *config)
{
+ if(config->easy) {
+ curl_easy_cleanup(config->easy);
+ config->easy = NULL;
+ }
+
/* Release metalink related resources here */
clean_metalink(config);
}