From: Steve Holme Date: Mon, 10 Feb 2014 23:01:03 +0000 (+0000) Subject: tool_cfgable: Moved easy handle cleanup to fix pingpong logout issues X-Git-Tag: curl-7_36_0~172 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c8d1733d12ac6cb283f21f3f647c522aabeb2744;p=curl 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. --- 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); }