From 6b5dc725756984da68da5c3866c6bb8ef10527cb Mon Sep 17 00:00:00 2001 From: Pasha Kuznetsov Date: Sat, 18 Dec 2010 22:35:37 +0100 Subject: [PATCH] Curl_do: avoid using stale conn pointer Since the original `conn' pointer was used after the `connectdata' it points to has been closed/cleaned up by Curl_reconnect_request it caused a crash. We must make sure to use the newly created connection instead! URL: http://curl.haxx.se/mail/lib-2010-12/0202.html --- lib/url.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/url.c b/lib/url.c index 8511ffe4c..95d024d52 100644 --- a/lib/url.c +++ b/lib/url.c @@ -5347,12 +5347,13 @@ CURLcode Curl_do(struct connectdata **connp, bool *done) if(result == CURLE_OK) { /* ... finally back to actually retry the DO phase */ + conn = *connp; /* re-assign conn since Curl_reconnect_request + creates a new connection */ result = conn->handler->do_it(conn, done); } } - else { + else return result; - } } if((result == CURLE_OK) && *done)