summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Satiro <raysatiro@yahoo.com>2019-12-29 14:18:48 -0500
committerJay Satiro <raysatiro@yahoo.com>2019-12-29 14:18:48 -0500
commit249f7b37e610477a4c16810c77a8605b464a653e (patch)
tree324e5e3e6968ddc52ccab59afa011623accd7497
parent060fb84a5a07388f099c7a3422e281ac64d623a5 (diff)
downloadcurl-249f7b37e610477a4c16810c77a8605b464a653e.tar.gz
tool_operate: fix mem leak when failed config parse
Found by fuzzing the config file. Reported-by: Geeknik Labs Fixes https://github.com/curl/curl/issues/4767
-rw-r--r--src/tool_operate.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/tool_operate.c b/src/tool_operate.c
index d4f170e33..61b130672 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -720,8 +720,10 @@ static CURLcode single_transfer(struct GlobalConfig *global,
if(SetHTTPrequest(config, HTTPREQ_SIMPLEPOST, &config->httpreq))
result = CURLE_FAILED_INIT;
}
- if(result)
+ if(result) {
+ single_transfer_cleanup(config);
return result;
+ }
}
if(!state->urlnode) {
/* first time caller, setup things */