From: Michael Wallner Date: Mon, 30 Jul 2012 18:29:39 +0000 (+0000) Subject: ensure we're talking to curl ops X-Git-Tag: RELEASE_2_1_0_RC3~10^2^2~120 X-Git-Url: https://git.m6w6.name/?a=commitdiff_plain;h=2e9b16f0debeedcef8a69d6663843de747d3eef3;p=m6w6%2Fext-http ensure we're talking to curl ops --- diff --git a/php_http_curl_client_datashare.c b/php_http_curl_client_datashare.c index 11856be..1c9cf4d 100644 --- a/php_http_curl_client_datashare.c +++ b/php_http_curl_client_datashare.c @@ -67,6 +67,11 @@ static STATUS php_http_curl_client_datashare_attach(php_http_client_datashare_t php_http_curl_client_t *recurl = r->ctx; TSRMLS_FETCH_FROM_CTX(h->ts); + if (r->ops != php_http_curl_client_get_ops()) { + php_http_error(HE_WARNING, PHP_HTTP_E_CLIENT_DATASHARE, "Cannot attach a non-curl client to this datashare"); + return FAILURE; + } + if (CURLE_OK != (rc = curl_easy_setopt(recurl->handle, CURLOPT_SHARE, curl->handle))) { php_http_error(HE_WARNING, PHP_HTTP_E_CLIENT_DATASHARE, "Could not attach request to the datashare: %s", curl_easy_strerror(rc)); return FAILURE; @@ -81,6 +86,11 @@ static STATUS php_http_curl_client_datashare_detach(php_http_client_datashare_t TSRMLS_FETCH_FROM_CTX(h->ts); + if (r->ops != php_http_curl_client_get_ops()) { + php_http_error(HE_WARNING, PHP_HTTP_E_CLIENT_DATASHARE, "Cannot attach a non-curl client to this datashare"); + return FAILURE; + } + if (CURLE_OK != (rc = curl_easy_setopt(recurl->handle, CURLOPT_SHARE, NULL))) { php_http_error(HE_WARNING, PHP_HTTP_E_CLIENT_DATASHARE, "Could not detach request from the datashare: %s", curl_share_strerror(rc)); return FAILURE;