1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-16 14:35:03 -05:00

multi: fix memory leak in content encoding related error path

... a missing multi_done() call.

Credit to OSS-Fuzz
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10728
Closes #3063
This commit is contained in:
Daniel Stenberg 2018-09-29 11:32:07 +02:00
parent 2b3351b8e3
commit 2dfc0dd6b5
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View File

@ -2005,14 +2005,18 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
newurl = data->req.location;
data->req.location = NULL;
result = Curl_follow(data, newurl, FOLLOW_FAKE);
if(result)
if(result) {
stream_error = TRUE;
result = multi_done(&data->easy_conn, result, TRUE);
}
}
if(!result) {
multistate(data, CURLM_STATE_DONE);
rc = CURLM_CALL_MULTI_PERFORM;
}
}
}
else if(comeback)
rc = CURLM_CALL_MULTI_PERFORM;
break;