summaryrefslogtreecommitdiff
path: root/ext/mysql
diff options
context:
space:
mode:
authorAndrey Hristov <andrey@php.net>2008-07-22 17:41:15 +0000
committerAndrey Hristov <andrey@php.net>2008-07-22 17:41:15 +0000
commit529d73f9d45df8da1241cf0783beabef78a6b748 (patch)
tree5bc42bdb0c7e7669f6c7ab47a6bbfd555dbf80a3 /ext/mysql
parentd8d69652ddb4cd9c49071cb7b8d74b8bbb0e390d (diff)
downloadphp-git-529d73f9d45df8da1241cf0783beabef78a6b748.tar.gz
MFH: Fix a leak with pconn and mysqlnd
Diffstat (limited to 'ext/mysql')
-rw-r--r--ext/mysql/php_mysql.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c
index a70a5e5b6b..6908b294bd 100644
--- a/ext/mysql/php_mysql.c
+++ b/ext/mysql/php_mysql.c
@@ -963,6 +963,14 @@ PHP_FUNCTION(mysql_close)
ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", le_link, le_plink);
+#ifdef MYSQL_USE_MYSQLND
+ {
+ int tmp;
+ if ((mysql = zend_list_find(Z_RESVAL_PP(mysql_link), &tmp)) && tmp == le_plink) {
+ mysqlnd_end_psession(mysql->conn);
+ }
+ }
+#endif
if (id==-1) { /* explicit resource number */
PHPMY_UNBUFFERED_QUERY_CHECK();
zend_list_delete(Z_RESVAL_PP(mysql_link));