diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2020-01-24 14:55:00 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-01-24 14:55:00 +0100 |
commit | dc6ede092f98a7d0c8a11ed5b642bd33d5441f59 (patch) | |
tree | f813de310e0dc466319f573484d4b6e7c7fb2059 /ext/mysqlnd/mysqlnd_debug.c | |
parent | c8eceba2c75b75b9723627e0a68d23b639897940 (diff) | |
parent | bb5cdd9b7469b37ceef0627100a415ead68f0030 (diff) | |
download | php-git-dc6ede092f98a7d0c8a11ed5b642bd33d5441f59.tar.gz |
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79011
Fix memory leaks in mysqlnd debug functionality
Diffstat (limited to 'ext/mysqlnd/mysqlnd_debug.c')
-rw-r--r-- | ext/mysqlnd/mysqlnd_debug.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/mysqlnd/mysqlnd_debug.c b/ext/mysqlnd/mysqlnd_debug.c index 8aa307e58f..5d4e06b0b1 100644 --- a/ext/mysqlnd/mysqlnd_debug.c +++ b/ext/mysqlnd/mysqlnd_debug.c @@ -697,6 +697,10 @@ MYSQLND_CLASS_METHODS_START(mysqlnd_debug) MYSQLND_CLASS_METHODS_END; +static void free_ptr(zval *zv) { + efree(Z_PTR_P(zv)); +} + /* {{{ mysqlnd_debug_init */ PHPAPI MYSQLND_DEBUG * mysqlnd_debug_init(const char * skip_functions[]) @@ -708,7 +712,7 @@ mysqlnd_debug_init(const char * skip_functions[]) zend_stack_init(&ret->call_stack, sizeof(char *)); zend_stack_init(&ret->call_time_stack, sizeof(uint64_t)); zend_hash_init(&ret->not_filtered_functions, 0, NULL, NULL, 0); - zend_hash_init(&ret->function_profiles, 0, NULL, NULL, 0); + zend_hash_init(&ret->function_profiles, 0, NULL, free_ptr, 0); ret->m = & mysqlnd_mysqlnd_debug_methods; ret->skip_functions = skip_functions; |