mirror of
https://github.com/moparisthebest/curl
synced 2024-08-13 17:03:50 -04:00
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
This commit is contained in:
parent
8ab137b2bc
commit
6b5dc72575
@ -5347,12 +5347,13 @@ CURLcode Curl_do(struct connectdata **connp, bool *done)
|
|||||||
|
|
||||||
if(result == CURLE_OK) {
|
if(result == CURLE_OK) {
|
||||||
/* ... finally back to actually retry the DO phase */
|
/* ... 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);
|
result = conn->handler->do_it(conn, done);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
return result;
|
return result;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if((result == CURLE_OK) && *done)
|
if((result == CURLE_OK) && *done)
|
||||||
|
Loading…
Reference in New Issue
Block a user