diff options
author | Nikita Popov <nikic@php.net> | 2015-04-16 18:04:09 +0200 |
---|---|---|
committer | Nikita Popov <nikic@php.net> | 2015-04-16 21:08:29 +0200 |
commit | 3d7959c87b260b38022bf737252ac79e622c8837 (patch) | |
tree | 929f23c4b6062b91dd04f7c88d191c38ff3ce9d7 /ext/pdo | |
parent | 5b0d86edccb669b06bcf9f225a981f16c03da71a (diff) | |
download | php-git-3d7959c87b260b38022bf737252ac79e622c8837.tar.gz |
Fix PdoRow leak
PdoStatement should only hold a weakref to the PdoRow.
Diffstat (limited to 'ext/pdo')
-rw-r--r-- | ext/pdo/pdo_stmt.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index 346aba7eb0..be22a0e71e 100644 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -262,7 +262,8 @@ static void get_lazy_object(pdo_stmt_t *stmt, zval *return_value) /* {{{ */ zend_object_std_init(&row->std, pdo_row_ce); ZVAL_OBJ(&stmt->lazy_object_ref, &row->std); row->std.handlers = &pdo_row_object_handlers; - stmt->std.gc.refcount++; + GC_REFCOUNT(&stmt->std)++; + GC_REFCOUNT(&row->std)--; } ZVAL_COPY(return_value, &stmt->lazy_object_ref); } |