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:
authorNicolas Favre-Felix <n.favrefelix@gmail.com>2011-09-14 16:42:41 +0400
committerNicolas Favre-Felix <n.favrefelix@gmail.com>2011-09-14 16:42:41 +0400
commit1b213ede54175c98d2da88cb24c1b1b4c8238d7a (patch)
tree92ef17fbc307b9e2a008c40e4e94e29a163c5de4 /library.c
parent9e1d068e6574b112eec0b7ccf9f49be0d0a1966b (diff)
Fixed memory leak in HMGET.
This resolves GitHub issue #49.
Diffstat (limited to 'library.c')
-rw-r--r--library.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/library.c b/library.c
index f2509334..a1fb87d1 100644
--- a/library.c
+++ b/library.c
@@ -968,7 +968,7 @@ PHPAPI int redis_sock_read_multibulk_reply_assoc(INTERNAL_FUNCTION_PARAMETERS, R
efree(response);
add_assoc_zval_ex(z_multi_result, Z_STRVAL_P(z_keys[i]), 1+Z_STRLEN_P(z_keys[i]), z);
} else {
- add_assoc_stringl_ex(z_multi_result, Z_STRVAL_P(z_keys[i]), 1+Z_STRLEN_P(z_keys[i]), response, response_len, 1);
+ add_assoc_stringl_ex(z_multi_result, Z_STRVAL_P(z_keys[i]), 1+Z_STRLEN_P(z_keys[i]), response, response_len, 0);
}
} else {
add_assoc_bool_ex(z_multi_result, Z_STRVAL_P(z_keys[i]), 1+Z_STRLEN_P(z_keys[i]), 0);
@@ -982,7 +982,9 @@ PHPAPI int redis_sock_read_multibulk_reply_assoc(INTERNAL_FUNCTION_PARAMETERS, R
add_next_index_zval(z_tab, z_multi_result);
} else {
*return_value = *z_multi_result;
- //zval_copy_ctor(return_value);
+ zval_copy_ctor(return_value);
+ INIT_PZVAL(return_value);
+ zval_dtor(z_multi_result);
efree(z_multi_result);
}
return 0;