mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3: Add NEWS entries Fix crash in firebird statement dtor ext/pdo: Fix memory leak if GC needs to free PDO Statement Fix GHA config yml error
This commit is contained in:
commit
eda8ce728a
5 changed files with 165 additions and 13 deletions
|
@ -158,8 +158,15 @@ static int pdo_firebird_stmt_dtor(pdo_stmt_t *stmt) /* {{{ */
|
|||
pdo_firebird_stmt *S = (pdo_firebird_stmt*)stmt->driver_data;
|
||||
int result = 1;
|
||||
|
||||
/* release the statement */
|
||||
if (isc_dsql_free_statement(S->H->isc_status, &S->stmt, DSQL_drop)) {
|
||||
/* TODO: for master, move this check to a separate function shared between pdo drivers.
|
||||
* pdo_pgsql and pdo_mysql do this exact same thing */
|
||||
bool server_obj_usable = !Z_ISUNDEF(stmt->database_object_handle)
|
||||
&& IS_OBJ_VALID(EG(objects_store).object_buckets[Z_OBJ_HANDLE(stmt->database_object_handle)])
|
||||
&& !(OBJ_FLAGS(Z_OBJ(stmt->database_object_handle)) & IS_OBJ_FREE_CALLED);
|
||||
|
||||
/* release the statement.
|
||||
* Note: if the server object is already gone then the statement was closed already as well. */
|
||||
if (server_obj_usable && isc_dsql_free_statement(S->H->isc_status, &S->stmt, DSQL_drop)) {
|
||||
php_firebird_error_stmt(stmt);
|
||||
result = 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue