summaryrefslogtreecommitdiff
path: root/ext/pdo
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2015-04-16 18:04:09 +0200
committerNikita Popov <nikic@php.net>2015-04-16 21:08:29 +0200
commit3d7959c87b260b38022bf737252ac79e622c8837 (patch)
tree929f23c4b6062b91dd04f7c88d191c38ff3ce9d7 /ext/pdo
parent5b0d86edccb669b06bcf9f225a981f16c03da71a (diff)
downloadphp-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.c3
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);
}