Bug #63398 [Opn]: Segfault when polling closed link
| From: | laruence@php.net | Date: | Tue, 30 Oct 2012 15:01:30 +0000 |
| Subject: | Bug #63398 [Opn]: Segfault when polling closed link | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-174425@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=63398&edit=1
ID: 63398
Updated by: laruence@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