diff options
author | Jay Satiro <raysatiro@yahoo.com> | 2019-12-29 14:18:48 -0500 |
---|---|---|
committer | Jay Satiro <raysatiro@yahoo.com> | 2019-12-29 14:18:48 -0500 |
commit | 249f7b37e610477a4c16810c77a8605b464a653e (patch) | |
tree | 324e5e3e6968ddc52ccab59afa011623accd7497 /src | |
parent | 060fb84a5a07388f099c7a3422e281ac64d623a5 (diff) | |
download | curl-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
Diffstat (limited to 'src')
-rw-r--r-- | src/tool_operate.c | 4 |
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 */ |