Edit report at https://bugs.php.net/bug.php?id=63398&edit=1

 ID:                 63398
 Updated by:         larue...@php.net
 Reported by:        aeryaguzov at gmail dot com
 Summary:            Segfault when polling closed link
 Status:             Open
 Type:               Bug
 Package:            MySQLi related
 Operating System:   Ubuntu 12.04
 PHP Version:        5.4.8
-Assigned To:        
+Assigned To:        mysql
 Block user comment: N
 Private report:     N

 New Comment:

a quick fix is:

diff --git a/ext/mysqli/mysqli_nonapi.c b/ext/mysqli/mysqli_nonapi.c
index 2b6a1af..c51fadd 100644
--- a/ext/mysqli/mysqli_nonapi.c
+++ b/ext/mysqli/mysqli_nonapi.c
@@ -695,6 +695,9 @@ static int mysqlnd_zval_array_from_mysqlnd_array(MYSQLND 
**in_array, zval *out_a
                {
                        MY_MYSQL *mysql;
                        mysqli_object *intern = (mysqli_object 
*)zend_object_store_get_object(*elem TSRMLS_CC);
+                       if (!intern->ptr) {
+                               continue;
+                       }
                        mysql = (MY_MYSQL *) ((MYSQLI_RESOURCE *)intern->ptr)-
>ptr;
                        if (mysql->mysql == *p) {
                                zend_hash_next_index_insert(new_hash, (void 
*)elem, sizeof(zval *), (void **)&dest_elem);


Previous Comments:
------------------------------------------------------------------------
[2012-10-30 13:40:56] aeryaguzov at gmail dot com

Description:
------------
Try to poll already closed connection caused segfault

Test script:
---------------
$link = new mysqli('host', 'user', 'password', 'db', 'port');

mysqli_close($link);

$read = $error = $reject = array();
$read[] = $error[] = $reject[] = $link;

mysqli_poll($read, $error, $reject, 1);



------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=63398&edit=1

Reply via email to