From: Daniel Stenberg Date: Fri, 18 Jun 2010 21:46:09 +0000 (+0200) Subject: multi: prevent NULL pointer dereference X-Git-Tag: curl-7_21_1~123 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e6d85923c1e9d4a9b76b67a4b31f0815e051b071;p=thirdparty%2Fcurl.git multi: prevent NULL pointer dereference My additional call to Curl_pgrsUpdate() would sometimes get called even though there's no connection (left) so a NULL pointer would get passed, causing a segfault. --- diff --git a/lib/multi.c b/lib/multi.c index b42f68d0f2..ea284b3f30 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -1527,7 +1527,8 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi, multistate(easy, CURLM_STATE_COMPLETED); } - else if(Curl_pgrsUpdate(easy->easy_conn)) + /* if there's still a connection to use, call the progress function */ + else if(easy->easy_conn && Curl_pgrsUpdate(easy->easy_conn)) easy->result = CURLE_ABORTED_BY_CALLBACK; } } while(0);