summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2017-11-01 15:21:21 +0300
committerDmitry Stogov <dmitry@zend.com>2017-11-01 15:21:21 +0300
commitfd57ee89310abc9939f7ce88b282feeb4fc0eb97 (patch)
tree342d338192a17f85e2e2396ad00d266e79f8e3b1
parent67d5f39a47b15e28293d9d6558b80ded049179fe (diff)
downloadphp-git-fd57ee89310abc9939f7ce88b282feeb4fc0eb97.tar.gz
Mark persistent connection related data as "thread-local".
-rw-r--r--ext/mysqlnd/mysqlnd_connection.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ext/mysqlnd/mysqlnd_connection.c b/ext/mysqlnd/mysqlnd_connection.c
index e836ef1238..a788c45774 100644
--- a/ext/mysqlnd/mysqlnd_connection.c
+++ b/ext/mysqlnd/mysqlnd_connection.c
@@ -1859,8 +1859,11 @@ MYSQLND_METHOD(mysqlnd_conn_data, set_client_option_2d)(MYSQLND_CONN_DATA * cons
DBG_INF_FMT("Adding [%s][%s]", key, value);
{
zval attrz;
+ zend_string *str = zend_string_init(key, strlen(key), 1);
+ GC_MAKE_PERSISTENT_LOCAL(str);
ZVAL_NEW_STR(&attrz, zend_string_init(value, strlen(value), conn->persistent));
- zend_hash_str_update(conn->options->connect_attr, key, strlen(key), &attrz);
+ GC_MAKE_PERSISTENT_LOCAL(Z_COUNTED(attrz));
+ zend_hash_update(conn->options->connect_attr, str, &attrz);
}
break;
default: