From 3c2ef2a610814028a8dc9469b350d291327c673f Mon Sep 17 00:00:00 2001 From: Anders Bakken Date: Tue, 1 Mar 2016 14:52:38 -0800 Subject: [PATCH] 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 --- lib/url.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/url.c b/lib/url.c index bf293a4d9..9ffca16d1 100644 --- a/lib/url.c +++ b/lib/url.c @@ -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