From: Dmitry Stogov Date: Wed, 1 Nov 2017 12:21:21 +0000 (+0300) Subject: Mark persistent connection related data as "thread-local". X-Git-Tag: php-7.3.0alpha1~1112^2~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fd57ee89310abc9939f7ce88b282feeb4fc0eb97;p=php Mark persistent connection related data as "thread-local". --- 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: