From: Nikita Popov Date: Wed, 28 Oct 2020 09:44:13 +0000 (+0100) Subject: Check for null dbh methods in get_gc X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ab0ec3f24a2510043b15d17b91c24fc36067113c;p=php Check for null dbh methods in get_gc Methods may not be set at the point where get_gc is called. Fixes a segfault in Laravel. --- diff --git a/ext/pdo/pdo_dbh.c b/ext/pdo/pdo_dbh.c index 4fa43544cb..ceb2ea1149 100644 --- a/ext/pdo/pdo_dbh.c +++ b/ext/pdo/pdo_dbh.c @@ -1297,7 +1297,7 @@ static HashTable *dbh_get_gc(zend_object *object, zval **gc_data, int *gc_count) pdo_dbh_t *dbh = php_pdo_dbh_fetch_inner(object); zend_get_gc_buffer *gc_buffer = zend_get_gc_buffer_create(); zend_get_gc_buffer_add_zval(gc_buffer, &dbh->def_stmt_ctor_args); - if (dbh->methods->get_gc) { + if (dbh->methods && dbh->methods->get_gc) { dbh->methods->get_gc(dbh, gc_buffer); } zend_get_gc_buffer_use(gc_buffer, gc_data, gc_count);