From: Daniel Stenberg Date: Fri, 2 Dec 2011 20:10:28 +0000 (+0100) Subject: multi interface: only use non-NULL function pointer! X-Git-Tag: curl-7_24_0~161 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d81f5ea3e0a5f9a532fcf685898e041fafa93a5b;p=thirdparty%2Fcurl.git multi interface: only use non-NULL function pointer! If the socket callback function pointer hasn't been set, we must not attempt to use it. Commit adc88ca20 made it more likely to occur. --- diff --git a/lib/multi.c b/lib/multi.c index 3059e49be0..f3b892c912 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -1940,11 +1940,12 @@ static void singlesocket(struct Curl_multi *multi, } /* we know (entry != NULL) at this point, see the logic above */ - multi->socket_cb(easy->easy_handle, - s, - action, - multi->socket_userp, - entry->socketp); + if(multi->socket_cb) + multi->socket_cb(easy->easy_handle, + s, + action, + multi->socket_userp, + entry->socketp); entry->action = action; /* store the current action state */ } @@ -2019,11 +2020,12 @@ static void singlesocket(struct Curl_multi *multi, remove_sock_from_hash = FALSE; if(remove_sock_from_hash) { - multi->socket_cb(easy->easy_handle, - s, - CURL_POLL_REMOVE, - multi->socket_userp, - entry ? entry->socketp : NULL); + if(multi->socket_cb) + multi->socket_cb(easy->easy_handle, + s, + CURL_POLL_REMOVE, + multi->socket_userp, + entry ? entry->socketp : NULL); sh_delentry(multi->sockhash, s); }