diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2021-02-16 14:20:45 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2021-02-16 14:20:45 +0100 |
commit | b63ea1047a5c130231cec5571861f1dcdf63a063 (patch) | |
tree | 0fff21141ba410ca439833f64b41e86a1d22e2b4 /ext/curl | |
parent | cb9785add1bc8031531c2870c267e6a72efae6af (diff) | |
download | php-git-b63ea1047a5c130231cec5571861f1dcdf63a063.tar.gz |
Mark resource-like objects as non-comparable
As these hold on to some internal resource, there can't be two
"equal" objects with different identity. Make sure the lack of
public properties doesn't result in these being treated as always
equal.
Diffstat (limited to 'ext/curl')
-rw-r--r-- | ext/curl/interface.c | 1 | ||||
-rw-r--r-- | ext/curl/multi.c | 1 | ||||
-rw-r--r-- | ext/curl/share.c | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/ext/curl/interface.c b/ext/curl/interface.c index 2fd6ec1454..808785c445 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -1200,6 +1200,7 @@ PHP_MINIT_FUNCTION(curl) curl_object_handlers.get_constructor = curl_get_constructor; curl_object_handlers.clone_obj = curl_clone_obj; curl_object_handlers.cast_object = curl_cast_object; + curl_object_handlers.compare = zend_objects_not_comparable; curl_multi_register_class(class_CurlMultiHandle_methods); curl_share_register_class(class_CurlShareHandle_methods); diff --git a/ext/curl/multi.c b/ext/curl/multi.c index e717fd5d9e..3b329088c2 100644 --- a/ext/curl/multi.c +++ b/ext/curl/multi.c @@ -603,4 +603,5 @@ void curl_multi_register_class(const zend_function_entry *method_entries) { curl_multi_handlers.get_constructor = curl_multi_get_constructor; curl_multi_handlers.clone_obj = NULL; curl_multi_handlers.cast_object = curl_cast_object; + curl_multi_handlers.compare = zend_objects_not_comparable; } diff --git a/ext/curl/share.c b/ext/curl/share.c index 58135acdb5..6ab0f92ba5 100644 --- a/ext/curl/share.c +++ b/ext/curl/share.c @@ -176,4 +176,5 @@ void curl_share_register_class(const zend_function_entry *method_entries) { curl_share_handlers.free_obj = curl_share_free_obj; curl_share_handlers.get_constructor = curl_share_get_constructor; curl_share_handlers.clone_obj = NULL; + curl_share_handlers.compare = zend_objects_not_comparable; } |