cvs: php-src /ext/pdo pdo_stmt.c /ext/pdo/tests pdorow.phpt

From: Date: Wed, 14 May 2008 12:28:28 +0000
Subject: cvs: php-src /ext/pdo pdo_stmt.c /ext/pdo/tests pdorow.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-49961@lists.php.net to get a copy of this message
felipe Wed May 14 12:28:28 2008 UTC Added files: /php-src/ext/pdo/tests pdorow.phpt Modified files: /php-src/ext/pdo pdo_stmt.c Log: - Add check for avoid segfault when trying instantiate PDORow manually http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_stmt.c?r1=1.191&r2=1.192&diff_format=u Index: php-src/ext/pdo/pdo_stmt.c diff -u php-src/ext/pdo/pdo_stmt.c:1.191 php-src/ext/pdo/pdo_stmt.c:1.192 --- php-src/ext/pdo/pdo_stmt.c:1.191 Sat Mar 22 19:29:43 2008 +++ php-src/ext/pdo/pdo_stmt.c Wed May 14 12:28:28 2008 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pdo_stmt.c,v 1.191 2008/03/22 19:29:43 felipe Exp $ */ +/* $Id: pdo_stmt.c,v 1.192 2008/05/14 12:28:28 felipe Exp $ */ /* The PDO Statement Handle Class */ @@ -2714,10 +2714,12 @@ void pdo_row_free_storage(pdo_stmt_t *stmt TSRMLS_DC) { - ZVAL_NULL(&stmt->lazy_object_ref); - - if (--stmt->refcount == 0) { - free_statement(stmt TSRMLS_CC); + if (stmt) { + ZVAL_NULL(&stmt->lazy_object_ref); + + if (--stmt->refcount == 0) { + free_statement(stmt TSRMLS_CC); + } } } http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/tests/pdorow.phpt?view=markup&rev=1.1 Index: php-src/ext/pdo/tests/pdorow.phpt +++ php-src/ext/pdo/tests/pdorow.phpt --TEST-- Trying instantiate a PDORow object manually --FILE-- <?php new PDORow; ?> --EXPECTF-- Fatal error: PDORow::__construct(): You should not create a PDOStatement manually in %s on line %d

« previous php.cvs (#49961) next »