mirror of
https://github.com/moparisthebest/curl
synced 2024-12-22 08:08:50 -05:00
multi: CURLINFO_LASTSOCKET doesn't work after remove_handle
When curl_multi_remove_handle() is called and an easy handle is returned to the connection cache held in the multi handle, then we cannot allow CURLINFO_LASTSOCKET to extract it since that will more or less encourage that the user uses the socket while it can get used by libcurl again. Without this fix, we'd get a segfault in Curl_getconnectinfo() trying to dereference the NULL pointer in 'data->state.connc'. Bug: http://curl.haxx.se/bug/view.cgi?id=3023840
This commit is contained in:
parent
7239538d9a
commit
9be951a415
@ -656,6 +656,10 @@ CURLMcode curl_multi_remove_handle(CURLM *multi_handle,
|
||||
to that since we're not part of that handle anymore */
|
||||
easy->easy_handle->state.connc = NULL;
|
||||
|
||||
/* Since we return the connection back to the communal connection pool
|
||||
we mark the last connection as inaccessible */
|
||||
easy->easy_handle->state.lastconnect = -1;
|
||||
|
||||
/* Modify the connectindex since this handle can't point to the
|
||||
connection cache anymore.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user