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;
|
newurl = data->req.location;
|
||||||
data->req.location = NULL;
|
data->req.location = NULL;
|
||||||
result = Curl_follow(data, newurl, FOLLOW_FAKE);
|
result = Curl_follow(data, newurl, FOLLOW_FAKE);
|
||||||
if(result)
|
if(result) {
|
||||||
stream_error = TRUE;
|
stream_error = TRUE;
|
||||||
|
result = multi_done(&data->easy_conn, result, TRUE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
multistate(data, CURLM_STATE_DONE);
|
if(!result) {
|
||||||
rc = CURLM_CALL_MULTI_PERFORM;
|
multistate(data, CURLM_STATE_DONE);
|
||||||
|
rc = CURLM_CALL_MULTI_PERFORM;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(comeback)
|
else if(comeback)
|
||||||
|
Loading…
Reference in New Issue
Block a user