felipe Mon Nov 3 15:33:23 2008 UTC
Added files: (Branch: PHP_5_3)
/php-src/ext/pdo_mysql/tests bug44327.phpt
Modified files:
/php-src/ext/pdo pdo_stmt.c
Log:
- MFH: Fixed bug #44327 (PDORow::queryString property & numeric offsets /
Crash)
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_stmt.c?r1=1.118.2.38.2.24.2.30&r2=1.118.2.38.2.24.2.31&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.24.2.30
php-src/ext/pdo/pdo_stmt.c:1.118.2.38.2.24.2.31
--- php-src/ext/pdo/pdo_stmt.c:1.118.2.38.2.24.2.30 Sun Nov 2 21:19:35 2008
+++ php-src/ext/pdo/pdo_stmt.c Mon Nov 3 15:33:22 2008
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: pdo_stmt.c,v 1.118.2.38.2.24.2.30 2008/11/02 21:19:35 felipe Exp $ */
+/* $Id: pdo_stmt.c,v 1.118.2.38.2.24.2.31 2008/11/03 15:33:22 felipe Exp $ */
/* The PDO Statement Handle Class */
@@ -2614,6 +2614,9 @@
pdo_stmt_t * stmt = (pdo_stmt_t *) zend_object_store_get_object(object
TSRMLS_CC);
int colno = -1;
+ if (Z_TYPE_P(member) == IS_STRING && strcmp(Z_STRVAL_P(member),
"queryString") == 0) {
+ return std_object_handlers.read_property(object, member,
IS_STRING TSRMLS_CC);
+ }
MAKE_STD_ZVAL(return_value);
if (Z_TYPE_P(member) == IS_LONG) {
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_mysql/tests/bug44327.phpt?view=markup&rev=1.1
Index: php-src/ext/pdo_mysql/tests/bug44327.phpt
+++ php-src/ext/pdo_mysql/tests/bug44327.phpt
--TEST--
Bug #44327 (PDORow::queryString property & numeric offsets / Crash)
--SKIPIF--
<?php
require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'skipif.inc');
require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc');
MySQLPDOTest::skip();
$db = MySQLPDOTest::factory();
?>
--FILE--
<?php
require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR .
'mysql_pdo_test.inc');
$db = MySQLPDOTest::factory();
$stmt = $db->prepare("SELECT 1 AS \"one\"");
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_LAZY);
var_dump($row);
var_dump($row->{0});
var_dump($row->one);
var_dump($row->queryString);
print "----------------------------------\n";
@$db->exec("DROP TABLE test");
$db->exec("CREATE TABLE test (id INT)");
$db->exec("INSERT INTO test(id) VALUES (1)");
$stmt = $db->prepare("SELECT id FROM test");
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_LAZY);
var_dump($row);
var_dump($row->queryString);
@$db->exec("DROP TABLE test");
print "----------------------------------\n";
$stmt = $db->prepare('foo');
@$stmt->execute();
$row = $stmt->fetch();
var_dump($row->queryString);
?>
--EXPECTF--
object(PDORow)#%d (2) {
["queryString"]=>
string(17) "SELECT 1 AS "one""
["one"]=>
string(1) "1"
}
string(1) "1"
string(1) "1"
string(17) "SELECT 1 AS "one""
----------------------------------
object(PDORow)#%d (2) {
["queryString"]=>
string(19) "SELECT id FROM test"
["id"]=>
string(1) "1"
}
string(19) "SELECT id FROM test"
----------------------------------
Notice: Trying to get property of non-object in %s on line %d
NULL
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php