From e306a2e0e88e6c641b4a2ae352b4f8cd13a99376 Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Sat, 1 Feb 2025 23:57:37 +0100 Subject: [PATCH] Add missing NULL checks in dbstmt_get_gc This fixes the nightly Laravel failure: https://github.com/php/php-src/actions/runs/13083746886/job/36512023794 --- ext/pdo/pdo_stmt.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index bf7936f9452..0b779f65627 100644 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -1965,9 +1965,13 @@ static HashTable *dbstmt_get_gc(zend_object *object, zval **gc_data, int *gc_cou enum pdo_fetch_type default_fetch_mode = stmt->default_fetch_type & ~PDO_FETCH_FLAGS; zend_get_gc_buffer *gc_buffer = zend_get_gc_buffer_create(); - zend_get_gc_buffer_add_obj(gc_buffer, stmt->database_object_handle); + if (stmt->database_object_handle) { + zend_get_gc_buffer_add_obj(gc_buffer, stmt->database_object_handle); + } if (default_fetch_mode == PDO_FETCH_INTO) { - zend_get_gc_buffer_add_obj(gc_buffer, stmt->fetch.into); + if (stmt->fetch.into) { + zend_get_gc_buffer_add_obj(gc_buffer, stmt->fetch.into); + } } else if (default_fetch_mode == PDO_FETCH_CLASS && stmt->fetch.cls.ctor_args != NULL) { zend_get_gc_buffer_add_ht(gc_buffer, stmt->fetch.cls.ctor_args); }