]> granicus.if.org Git - php/commitdiff
Also fixed bug #64726 in 5.3
authorXinchen Hui <laruence@php.net>
Sat, 27 Apr 2013 15:49:43 +0000 (23:49 +0800)
committerXinchen Hui <laruence@php.net>
Sat, 27 Apr 2013 15:49:43 +0000 (23:49 +0800)
NEWS
ext/mysqli/mysqli.c
ext/mysqli/tests/bug64726.phpt

diff --git a/NEWS b/NEWS
index 5ea0f5a2f8a8332de86db3075064083a897cefe9..284a31a7c783ab384179d055b4e68928e034711c 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,10 @@ PHP                                                                        NEWS
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 ?? ??? 2013, PHP 5.3.26
 
+- MySQLi:
+  . Fixed bug #64726 (Segfault when calling fetch_object on a use_result and DB
+    pointer has closed). (Laruence)
+
 ?? ??? 2013, PHP 5.3.25
 
 ### ADD ENTRIES ABOVE FOR 5.3.26. 5.3.25 NEWS WILL BE UPDATED BY RM ON MERGE ###
index 86f6070e6dd859233e3da0fd4cda6d6bcf994507..2941b4a89923f78c695ae17e0d48ecdd8f7843be 100644 (file)
@@ -1259,7 +1259,7 @@ void php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAMETERS, int override_flags
 
 #endif
 
-       if (into_object && Z_TYPE_P(return_value) != IS_NULL) {
+       if (into_object && Z_TYPE_P(return_value) == IS_ARRAY) {
                zval dataset = *return_value;
                zend_fcall_info fci;
                zend_fcall_info_cache fcc;
index 3e43916d35b2fe566083c5e892d51a1722bd2485..83c4e3c1e9dd15e09e5fbe52888ee452a6e953fe 100644 (file)
@@ -16,8 +16,8 @@ $db = new my_mysqli($host, $user, $passwd, $db, $port, $socket);
 
 $result = $db->query('SELECT 1', MYSQLI_USE_RESULT);
 $db->close();
-var_dump($result->fetch_array());
+var_dump($result->fetch_object());
 ?>
 --EXPECTF--
-Warning: mysqli_result::fetch_array(): Error while reading a row in %sbug64726.php on line %d
+Warning: mysqli_result::fetch_object(): Error while reading a row in %sbug64726.php on line %d
 bool(false)