tony2001 Tue Apr 17 17:00:17 2007 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/pdo pdo_stmt.c Log: fix leaks in row_get_properties() thanks to Kellen Bombardier for noticing http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_stmt.c?r1=1.118.2.38.2.15&r2=1.118.2.38.2.16&diff_format=u Index: php-src/ext/pdo/pdo_stmt.c diff -u php-src/ext/pdo/pdo_stmt.c:1.118.2.38.2.15 php-src/ext/pdo/pdo_stmt.c:1.118.2.38.2.16 --- php-src/ext/pdo/pdo_stmt.c:1.118.2.38.2.15 Wed Mar 7 09:03:07 2007 +++ php-src/ext/pdo/pdo_stmt.c Tue Apr 17 17:00:16 2007 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pdo_stmt.c,v 1.118.2.38.2.15 2007/03/07 09:03:07 tony2001 Exp $ */ +/* $Id: pdo_stmt.c,v 1.118.2.38.2.16 2007/04/17 17:00:16 tony2001 Exp $ */ /* The PDO Statement Handle Class */ @@ -2525,28 +2525,18 @@ static HashTable *row_get_properties(zval *object TSRMLS_DC) { - zval *tmp; pdo_stmt_t * stmt = (pdo_stmt_t *) zend_object_store_get_object(object TSRMLS_CC); int i; - HashTable *ht; - - MAKE_STD_ZVAL(tmp); - array_init(tmp); for (i = 0; i < stmt->column_count; i++) { zval *val; MAKE_STD_ZVAL(val); fetch_value(stmt, val, i, NULL TSRMLS_CC); - add_assoc_zval(tmp, stmt->columns[i].name, val); + zend_hash_update(stmt->properties, stmt->columns[i].name, stmt->columns[i].namelen + 1, (void *)&val, sizeof(zval *), NULL); } - ht = Z_ARRVAL_P(tmp); - - ZVAL_NULL(tmp); - FREE_ZVAL(tmp); - - return ht; + return stmt->properties; } static union _zend_function *row_method_get(
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php