From 41ad139d17eef8e70b2d8356dfae5675aeb75d97 Mon Sep 17 00:00:00 2001 From: Andrey Hristov Date: Tue, 11 May 2010 10:03:16 +0000 Subject: [PATCH] Fix for bug #51605 (Mysqli zombie links) --- ext/mysqli/mysqli_api.c | 2 +- ext/mysqli/tests/bug51605.phpt | 36 ++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 ext/mysqli/tests/bug51605.phpt diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c index bd2cdcb0cf..4be3e3baf7 100644 --- a/ext/mysqli/mysqli_api.c +++ b/ext/mysqli/mysqli_api.c @@ -562,7 +562,6 @@ void php_mysqli_close(MY_MYSQL * mysql, int close_type TSRMLS_DC) mysqli_plist_entry *plist = (mysqli_plist_entry *) le->ptr; zend_ptr_stack_push(&plist->free_links, mysql->mysql); - MyG(num_links)--; MyG(num_active_persistent)--; MyG(num_inactive_persistent)++; } @@ -570,6 +569,7 @@ void php_mysqli_close(MY_MYSQL * mysql, int close_type TSRMLS_DC) mysql->persistent = FALSE; } mysql->mysql = NULL; + MyG(num_links)--; php_clear_mysql(mysql); } diff --git a/ext/mysqli/tests/bug51605.phpt b/ext/mysqli/tests/bug51605.phpt new file mode 100644 index 0000000000..d8e5c88afc --- /dev/null +++ b/ext/mysqli/tests/bug51605.phpt @@ -0,0 +1,36 @@ +--TEST-- +Bug #51647 (Certificate file without private key (pk in another file) doesn't work) +--SKIPIF-- + +--INI-- +mysqli.max_links = 1 +mysqli.allow_persistent = Off +mysqli.max_persistent = 0 +mysqli.reconnect = Off +--FILE-- + +--EXPECTF-- +closed once +closed twice +done! -- 2.40.0