Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpredis/phpredis.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Grunder <michael.grunder@gmail.com>2018-11-22 22:37:18 +0300
committerGitHub <noreply@github.com>2018-11-22 22:37:18 +0300
commit91bd7426d539f48900ed545a105c78f02b1927b8 (patch)
treeb5e73ddda8093ff7ad04235b69a82b240be4ff85 /redis_cluster.c
parent9d1bdb7fd3c653b32db7d88c2467ffa842e6ba82 (diff)
Masters info leakfix (#1462)
Fix for memory leaks in `RedisCluster->_masters()` and `RedisCluster->info()`
Diffstat (limited to 'redis_cluster.c')
-rw-r--r--redis_cluster.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/redis_cluster.c b/redis_cluster.c
index 8f10bcb0..e08f1f5c 100644
--- a/redis_cluster.c
+++ b/redis_cluster.c
@@ -2026,25 +2026,21 @@ PHP_METHOD(RedisCluster, _unserialize) {
PHP_METHOD(RedisCluster, _masters) {
redisCluster *c = GET_CONTEXT();
redisClusterNode *node;
- zval zv, *z_ret = &zv;
- array_init(z_ret);
+ array_init(return_value);
ZEND_HASH_FOREACH_PTR(c->nodes, node) {
if (node == NULL) break;
zval z, *z_sub = &z;
-#if (PHP_MAJOR_VERSION < 7)
- MAKE_STD_ZVAL(z_sub);
-#endif
+
+ REDIS_MAKE_STD_ZVAL(z_sub);
array_init(z_sub);
add_next_index_stringl(z_sub, ZSTR_VAL(node->sock->host), ZSTR_LEN(node->sock->host));
add_next_index_long(z_sub, node->sock->port);
- add_next_index_zval(z_ret, z_sub);
+ add_next_index_zval(return_value, z_sub);
} ZEND_HASH_FOREACH_END();
-
- RETVAL_ZVAL(z_ret, 1, 0);
}
PHP_METHOD(RedisCluster, _redir) {
@@ -2714,6 +2710,7 @@ PHP_METHOD(RedisCluster, info) {
int cmd_len;
strlen_t opt_len = 0;
void *ctx = NULL;
+
zval *z_arg;
short slot;