php-src/ext/pdo
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-02-27 15:32:20 +00:00
config.m4 Autotools: Sync CS in extensions (#15343) 2024-08-11 17:42:26 +02:00
config.w32 Fix GH-14792: Compilation failure on pdo_* extensions (#14797) 2024-07-04 14:58:25 +02:00
CREDITS Sync leading and final newlines in source code files 2018-10-14 12:56:38 +02:00
Makefile.frag Define default RE2C_FLAGS (#14615) 2024-06-24 22:09:04 +02:00
Makefile.frag.w32 Define default RE2C_FLAGS (#14615) 2024-06-24 22:09:04 +02:00
pdo_arginfo.h Fix registration of internal readonly child classes (#15459) 2024-08-24 12:36:54 +02:00
pdo_dbh_arginfo.h Fix registration of internal readonly child classes (#15459) 2024-08-24 12:36:54 +02:00
pdo_dbh.c Use "must not" instead of "cannot" wording 2024-08-21 21:12:17 +01:00
pdo_dbh.stub.php Implement PDO driver-specific subclasses 2024-01-11 23:22:41 +01:00
pdo_sql_parser.h Update http links to https and sync www.php.net URLs (#14854) 2024-07-07 04:23:08 +02:00
pdo_sql_parser.re pdo_pgsql: escaped question marks inside dollar quoted strings 2024-06-17 23:31:25 +02:00
pdo_sqlstate.c Preferably include from build dir (#13516) 2024-06-26 00:26:43 +02:00
pdo_stmt_arginfo.h Fix registration of internal readonly child classes (#15459) 2024-08-24 12:36:54 +02:00
pdo_stmt.c Use "must not" instead of "cannot" wording 2024-08-21 21:12:17 +01:00
pdo_stmt.stub.php Declare the missing true return types (#13709) 2024-03-16 07:26:37 +01:00
pdo.c Preferably include from build dir (#13516) 2024-06-26 00:26:43 +02:00
pdo.stub.php Add some stub related todo comments 2022-05-25 13:24:11 +02:00
php_pdo_driver.h Implemented PDO Driver specific SQL parsers 2024-06-17 23:31:24 +02:00
php_pdo_error.h Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
php_pdo_int.h Implement PDO driver-specific subclasses 2024-01-11 23:22:41 +01:00
php_pdo.h Add Pdo\Pgsql::setNoticeCallback() (#14299) 2024-06-09 03:04:51 +01:00