1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-15 22:15:13 -05:00

url: if Curl_done is premature then pipeline not in use

Prevent a crash if 2 (or more) requests are made to the same host and
pipelining is enabled and the connection does not complete.

Bug: https://github.com/curl/curl/pull/690
This commit is contained in:
Anders Bakken 2016-03-01 14:52:38 -08:00 committed by Jay Satiro
parent d678bd6f60
commit 3c2ef2a610

View File

@ -6157,7 +6157,8 @@ CURLcode Curl_done(struct connectdata **connp,
result = CURLE_ABORTED_BY_CALLBACK; result = CURLE_ABORTED_BY_CALLBACK;
} }
if((conn->send_pipe->size + conn->recv_pipe->size != 0 && if((!premature &&
conn->send_pipe->size + conn->recv_pipe->size != 0 &&
!data->set.reuse_forbid && !data->set.reuse_forbid &&
!conn->bits.close)) { !conn->bits.close)) {
/* Stop if pipeline is not empty and we do not have to close /* Stop if pipeline is not empty and we do not have to close