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
1 changed files with 2 additions and 1 deletions

View File

@ -6157,7 +6157,8 @@ CURLcode Curl_done(struct connectdata **connp,
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 &&
!conn->bits.close)) {
/* Stop if pipeline is not empty and we do not have to close