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:
parent
2b3351b8e3
commit
2dfc0dd6b5
10
lib/multi.c
10
lib/multi.c
@ -2005,12 +2005,16 @@ 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);
|
||||
}
|
||||
}
|
||||
|
||||
multistate(data, CURLM_STATE_DONE);
|
||||
rc = CURLM_CALL_MULTI_PERFORM;
|
||||
if(!result) {
|
||||
multistate(data, CURLM_STATE_DONE);
|
||||
rc = CURLM_CALL_MULTI_PERFORM;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(comeback)
|
||||
|
Loading…
Reference in New Issue
Block a user