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

Reply via email to