php-src/ext/curl
Máté Kocsis 8d12f666ae
Fix registration of internal readonly child classes (#15459)
Currently, internal classes are registered with the following code:

INIT_CLASS_ENTRY(ce, "InternalClass", class_InternalClass_methods);
class_entry = zend_register_internal_class_ex(&ce, NULL);
class_entry->ce_flags |= ...;

This has worked well so far, except if InternalClass is readonly. It is because some inheritance checks are run by zend_register_internal_class_ex before ZEND_ACC_READONLY_CLASS is added to ce_flags.

The issue is fixed by adding a zend_register_internal_class_with_flags() zend API function that stubs can use from now on. This function makes sure to add the flags before running any checks. Since the new API is not available in lower PHP versions, gen_stub.php has to keep support for the existing API for PHP 8.3 and below.
2024-08-24 12:36:54 +02:00
..
tests Merge branch 'PHP-8.3' 2024-07-18 12:44:27 +02:00
config.m4 Autotools: Replace AC_MSG_ERROR with AC_MSG_FAILURE (#15209) 2024-08-04 07:36:37 +02:00
config.w32 Sync HAVE_<extension> help texts (#15167) 2024-08-02 01:41:47 +02:00
CREDITS
curl.stub.php GH-15440: adding CURLOPT_TCP_KEEPCNT constant (8.9.0) (#15446) 2024-08-16 20:47:41 +01:00
curl_arginfo.h Fix registration of internal readonly child classes (#15459) 2024-08-24 12:36:54 +02:00
curl_file.c Make lots of string pointers const (#10646) 2023-02-21 14:01:37 +00:00
curl_file.stub.php Use single line phpdoc in stubs where possible 2021-07-20 13:16:56 +02:00
curl_file_arginfo.h Fix registration of internal readonly child classes (#15459) 2024-08-24 12:36:54 +02:00
curl_private.h ext/curl: Refactor cURL to only use FCC (#13291) 2024-05-01 15:09:11 +01:00
interface.c GH-15440: adding CURLOPT_TCP_KEEPCNT constant (8.9.0) (#15446) 2024-08-16 20:47:41 +01:00
multi.c Preferably include from build dir (#13516) 2024-06-26 00:26:43 +02:00
php_curl.h Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
share.c Preferably include from build dir (#13516) 2024-06-26 00:26:43 +02:00
sync-constants.php ext/curl: Bump minimum Curl version to >= 7.61.0 (#13259) 2024-01-31 13:48:17 +00:00