diff options
Diffstat (limited to 'ext/pdo/pdo_stmt.c')
-rw-r--r-- | ext/pdo/pdo_stmt.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index 873f977fb6..3aaf145c9f 100644 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -1028,10 +1028,9 @@ static int do_fetch(pdo_stmt_t *stmt, int do_bind, zval *return_value, enum pdo_ case PDO_FETCH_USE_DEFAULT: case PDO_FETCH_BOTH: zend_symtable_update(Z_ARRVAL_P(return_value), stmt->columns[i].name, &val); - if (Z_REFCOUNTED(val)) { - Z_ADDREF(val); + if (zend_hash_index_add(Z_ARRVAL_P(return_value), i, &val) != NULL) { + Z_TRY_ADDREF(val); } - zend_hash_next_index_insert(Z_ARRVAL_P(return_value), &val); break; case PDO_FETCH_NAMED: |