diff options
author | Nicolas Favre-Felix <n.favrefelix@gmail.com> | 2011-09-14 16:42:41 +0400 |
---|---|---|
committer | Nicolas Favre-Felix <n.favrefelix@gmail.com> | 2011-09-14 16:42:41 +0400 |
commit | 1b213ede54175c98d2da88cb24c1b1b4c8238d7a (patch) | |
tree | 92ef17fbc307b9e2a008c40e4e94e29a163c5de4 /library.c | |
parent | 9e1d068e6574b112eec0b7ccf9f49be0d0a1966b (diff) |
Fixed memory leak in HMGET.
This resolves GitHub issue #49.
Diffstat (limited to 'library.c')
-rw-r--r-- | library.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -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; |