summaryrefslogtreecommitdiffstats
path: root/php-5.5.10-bug66762.patch
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2014-02-28 10:56:33 +0100
committerRemi Collet <fedora@famillecollet.com>2014-02-28 10:56:33 +0100
commitd284eecbe0ed687db9c307753f9a6fcb35827c43 (patch)
treeeea6f893b8f1a7d7c3feac1203ccca35bcf06a8a /php-5.5.10-bug66762.patch
parent85ff99087b33995f15de968e2e89c81ef446d8d6 (diff)
PHP 5.6.0alpha3
Diffstat (limited to 'php-5.5.10-bug66762.patch')
-rw-r--r--php-5.5.10-bug66762.patch97
1 files changed, 0 insertions, 97 deletions
diff --git a/php-5.5.10-bug66762.patch b/php-5.5.10-bug66762.patch
deleted file mode 100644
index f45f44f..0000000
--- a/php-5.5.10-bug66762.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-diff -up ext/mysqli/mysqli_api.c.orig ext/mysqli/mysqli_api.c
---- ext/mysqli/mysqli_api.c.orig 2014-02-05 11:00:36.000000000 +0100
-+++ ext/mysqli/mysqli_api.c 2014-02-25 08:16:43.597710792 +0100
-@@ -1869,6 +1869,10 @@ PHP_FUNCTION(mysqli_prepare)
- efree(stmt);
- RETURN_FALSE;
- }
-+#ifndef MYSQLI_USE_MYSQLND
-+ stmt->link_handle = Z_OBJ_HANDLE(*mysql_link);
-+ zend_objects_store_add_ref_by_handle(stmt->link_handle TSRMLS_CC);
-+#endif
-
- mysqli_resource = (MYSQLI_RESOURCE *)ecalloc (1, sizeof(MYSQLI_RESOURCE));
- mysqli_resource->ptr = (void *)stmt;
-@@ -2413,6 +2417,10 @@ PHP_FUNCTION(mysqli_stmt_init)
- efree(stmt);
- RETURN_FALSE;
- }
-+#ifndef MYSQLI_USE_MYSQLND
-+ stmt->link_handle = Z_OBJ_HANDLE(*mysql_link);
-+ zend_objects_store_add_ref_by_handle(stmt->link_handle TSRMLS_CC);
-+#endif
-
- mysqli_resource = (MYSQLI_RESOURCE *)ecalloc (1, sizeof(MYSQLI_RESOURCE));
- mysqli_resource->status = MYSQLI_STATUS_INITIALIZED;
-diff -up ext/mysqli/mysqli.c.orig ext/mysqli/mysqli.c
---- ext/mysqli/mysqli.c.orig 2014-02-05 11:00:36.000000000 +0100
-+++ ext/mysqli/mysqli.c 2014-02-25 08:21:37.336860837 +0100
-@@ -176,8 +176,11 @@ void php_clear_stmt_bind(MY_STMT *stmt T
- php_free_stmt_bind_buffer(stmt->param, FETCH_SIMPLE);
- /* Clean output bind */
- php_free_stmt_bind_buffer(stmt->result, FETCH_RESULT);
--#endif
-
-+ if (stmt->link_handle) {
-+ zend_objects_store_del_ref_by_handle(stmt->link_handle TSRMLS_CC);
-+ }
-+#endif
- if (stmt->query) {
- efree(stmt->query);
- }
-@@ -1069,6 +1072,10 @@ PHP_FUNCTION(mysqli_stmt_construct)
- efree(stmt);
- RETURN_FALSE;
- }
-+#ifndef MYSQLI_USE_MYSQLND
-+ stmt->link_handle = Z_OBJ_HANDLE(*mysql_link);
-+ zend_objects_store_add_ref_by_handle(stmt->link_handle TSRMLS_CC);
-+#endif
-
- mysqli_resource = (MYSQLI_RESOURCE *)ecalloc (1, sizeof(MYSQLI_RESOURCE));
- mysqli_resource->ptr = (void *)stmt;
-diff -up ext/mysqli/php_mysqli_structs.h.orig ext/mysqli/php_mysqli_structs.h
---- ext/mysqli/php_mysqli_structs.h.orig 2014-02-05 11:00:36.000000000 +0100
-+++ ext/mysqli/php_mysqli_structs.h 2014-02-25 08:16:43.598710795 +0100
-@@ -116,6 +116,10 @@ typedef struct {
- BIND_BUFFER param;
- BIND_BUFFER result;
- char *query;
-+#ifndef MYSQLI_USE_MYSQLND
-+ /* used to manage refcount with libmysql (already implement in mysqlnd) */
-+ zend_object_handle link_handle;
-+#endif
- } MY_STMT;
-
- typedef struct {
-diff -up ext/mysqli/tests/bug66762.phpt.orig ext/mysqli/tests/bug66762.phpt
---- ext/mysqli/tests/bug66762.phpt.orig 2014-02-25 08:16:17.118619251 +0100
-+++ ext/mysqli/tests/bug66762.phpt 2014-02-25 08:31:33.252385139 +0100
-@@ -0,0 +1,26 @@
-+--TEST--
-+Bug #66762 mysqli@libmysql segfault in mysqli_stmt::bind_result() when link closed
-+--SKIPIF--
-+<?php
-+require_once('skipif.inc');
-+require_once('skipifconnectfailure.inc');
-+?>
-+--FILE--
-+<?php
-+ require_once("connect.inc");
-+
-+ $mysqli = new mysqli($host, $user, $passwd, $db);
-+
-+ $read_stmt = $mysqli->prepare("SELECT 1");
-+
-+ var_dump($read_stmt->bind_result($data));
-+
-+ unset($mysqli);
-+ var_dump($read_stmt->bind_result($data));
-+
-+?>
-+done!
-+--EXPECT--
-+bool(true)
-+bool(true)
-+done!
-\ Pas de fin de ligne à la fin du fichier