Pavlo Yatsukhnenko
5a35e7edd4
memory leak
2016-12-05 23:54:00 +02:00
Pavlo Yatsukhnenko
cb4fd619c0
memory leak
2016-12-05 16:53:24 +02:00
Pavlo Yatsukhnenko
a23e36f208
zval_get_string
...
Added gc attribute to zend_string (for zend_string_release).
Added function zval_get_string and replace convert_to_string with it.
2016-12-02 16:04:59 +02:00
Pavlo Yatsukhnenko
433caf4788
refactoring
2016-11-21 17:46:58 +02:00
Pavlo Yatsukhnenko
ad9f4ea4f6
fix crash on FreeBSD and CentOS
2016-11-21 09:47:20 +02:00
Pavlo Yatsukhnenko
3d7da1fdb6
refactoring
2016-11-20 21:07:24 +02:00
Pavlo Yatsukhnenko
14c19fa3a0
refactoring
2016-11-16 18:05:27 +02:00
Pavlo Yatsukhnenko
d7d18bfa05
refactoring
...
Use estrndup instead os estrdup/emalloc+memcpy
2016-11-13 15:12:40 +02:00
Pavlo Yatsukhnenko
19f5f708c2
WIP: php7 compatibility
2016-11-11 23:04:27 +02:00
Pavlo Yatsukhnenko
5f15ce222f
WIP: php7 compatibility
2016-11-09 21:03:36 +02:00
Pavlo Yatsukhnenko
04a7327af8
WIP: php7 compatibility
2016-11-08 20:11:51 +02:00
Pavlo Yatsukhnenko
5de84b3d01
WIP: php7 compatibility
2016-11-07 20:18:57 +02:00
Pavlo Yatsukhnenko
8f3deb7f34
Fix static analyzer warnings
2016-11-04 18:21:42 +02:00
Pavlo Yatsukhnenko
7919b5c0aa
WIP: php7 compatibility
...
Wrap zend_is_callable_ex + session handlers
2016-10-31 22:59:59 +02:00
Pavlo Yatsukhnenko
56abe19721
WIP: php7 compatibility
...
Wrap zend_hash_init destructor.
Add implementation of zend_hash_str_exists, zend_hash_str_update_ptr,
zend_hash_index_update_ptr and zval_get_long functions.
2016-10-28 14:53:58 +03:00
Pavlo Yatsukhnenko
8cfebfd98b
WIP: php7 compatibility
...
zend_list_insert + add_assoc_string + add_assoc_zval
2016-10-27 20:35:47 +03:00
Pavlo Yatsukhnenko
a1e698873a
WIP: php7 compatibility
...
Redefine add_next_index_string.
Fix zend_fcall_info retval and params.
2016-10-26 18:12:07 +03:00
Pavlo Yatsukhnenko
88658b5e9b
WIP: php7 compatibility
...
Wrap create_cluster_context
2016-10-25 22:03:44 +03:00
Pavlo Yatsukhnenko
750ec8bbdc
WIP: php7 compatibility
...
Redefine ZVAL_STRING + ZVAL_STRINGL macro
2016-10-24 18:00:26 +03:00
Pavlo Yatsukhnenko
a2cda39fdc
RedisArray refactoring
2016-10-23 23:31:58 +03:00
Pavlo Yatsukhnenko
8f006d70f2
WIP: php7 compatibility
...
Redefine call_user_function
2016-10-21 17:41:25 +03:00
Pavlo Yatsukhnenko
2f2b3b3193
ra_index_keys refactoring
2016-10-10 23:10:00 +03:00
Pavlo Yatsukhnenko
33a8843c44
RedisArray refactoring
2016-10-10 22:35:34 +03:00
Pavlo Yatsukhnenko
84d9c27813
WIP: php7 compatibility
...
Define zend_string type + ZEND_HASH_FOREACH_KEY_VAL macro
2016-10-06 18:10:11 +03:00
Pavlo Yatsukhnenko
fa8f02946b
WIP: php7 compatibility
...
Wrap zend_list_delete and add_property_resource.
Remove unnecessary zend_hash_get_current_key_ex calls and memmory
allocation.
2016-10-01 12:50:59 +03:00
Pavlo Yatsukhnenko
377dc5019c
WIP: php7 compatibility
...
Redefine zend_hash_next_index_insert and zend_hash_get_current_data_ex macroses.
Fixed redis cluster crush (#954 )
2016-09-23 14:09:50 +03:00
Pavlo Yatsukhnenko
2c62090a7d
WIP: php7 compatibility
...
zend_hash_index_find + zend_hash_index_find_ptr
2016-09-21 09:03:32 +03:00
Pavlo Yatsukhnenko
d7931ab340
WIP: php7 compatibility
...
ZEND_HASH_FOREACH_VAL now works with zval * instead of zval **
2016-09-14 16:46:23 +03:00
Pavlo Yatsukhnenko
46c2de1b8a
WIP: php7 compatibility
...
Redefine `zend_hash_get_current_data` macro as static inline function +
add `zend_hash_get_current_data_ptr` function
2016-09-13 17:15:52 +03:00
Pavlo Yatsukhnenko
12d29886be
using zend_hash_str_find+zend_hash_str_find_ptr instead of zend_hash_find
2016-09-09 11:17:51 +03:00
Pavlo Yatsukhnenko
7c9824dbbc
ZEND_HASH_FOREACH_VAL macro
2016-09-06 11:54:08 +03:00
Pavlo Yatsukhnenko
9950a11991
redis_array_impl.c refactoring
2016-08-15 23:28:06 +03:00
Pavlo Yatsukhnenko
e8fb3b780e
replace emalloc+memcpy with estrndup
2016-07-30 23:43:59 +03:00
Pavlo Yatsukhnenko
c7a8c3bd82
This fixes issue #908
2016-07-30 10:15:35 +03:00
michael-grunder
9df734a288
Segfault and memory leak fixes for pull request
...
* We don't need to zval_dtor z_cons as it's a non-duplicated stack
allocated string.
* Destroy our z_pure_cmds member as it is allocated
2016-07-01 11:41:53 -07:00
Pavlo Yatsukhnenko
14a41a6b07
Move ra->count initialization to ra_load_hosts
2016-07-01 13:22:22 +03:00
michael-grunder
3012052849
More IPv6 additions
...
* Modified RedisArray to support IPv6
* Updated general test suite to take an override host
* Updated make-cluster.sh to take an override host
2016-02-12 18:10:50 -08:00
michael-grunder
fb0597992a
Merge remote
2015-05-07 16:30:11 -07:00
michael-grunder
90a7cf4817
Updates to fix rebase issues
2015-05-06 12:12:49 -07:00
michael-grunder
69c6c04eec
Added RedisArray and RedisCluster to config.w32 and more win32 fixes
...
Manually picked from: 6c377eee18
2015-05-05 15:22:40 -07:00
michael-grunder
97c9edc3aa
Sorted a memory leak in RedisArray and retabbed unit tests
2015-05-05 15:18:01 -07:00
michael-grunder
0b269cbb72
More RedisCluster fixes
...
* Properly handle single array as well as variadic arguments for
things like RedisCluster::del
* Wrapping keys in {} such that Redis and RedisCluster tests can
use the same methods (avoiding CROSSSLOT).
* Fixed a double-free scenerio in redis_array_impl.c
2015-05-05 15:16:49 -07:00
michael-grunder
9c4de060e6
Fix rehashing memory leaks
...
The pattern to move a key for various types (strings, sets, zsets,
hashes, etc) used a simple pattern:
1. Construct the call in order to get all of the keys from the source
2. Make a pass through call to the source node to get a response
3. Use the response to make a pass through call to the destination node
The issue, however, was that we were using the same return value variable
for both source and destination nodes, so we would leak the response from
the source node.
Conflicts:
redis_array_impl.c
2015-05-05 15:13:39 -07:00
michael-grunder
887eff0a9a
Fix memory leaks in RedisArray (backport from develop)
2015-05-05 15:13:39 -07:00
michael-grunder
f0f341e90d
Remove unused variable
2015-01-30 11:08:07 -08:00
michael-grunder
6dcc950054
Fix rehashing memory leaks
...
The pattern to move a key for various types (strings, sets, zsets,
hashes, etc) used a simple pattern:
1. Construct the call in order to get all of the keys from the source
2. Make a pass through call to the source node to get a response
3. Use the response to make a pass through call to the destination node
The issue, however, was that we were using the same return value variable
for both source and destination nodes, so we would leak the response from
the source node.
2015-01-29 15:57:17 -08:00
michael-grunder
f37574e959
Fix some simple leaks in RedisArray
...
* Make sure we always free our allocated key when extracting
* Don't copy z_fun and z_dist twice and only free one
* Free outer array for z_zadd_args
2015-01-29 15:17:18 -08:00
Michael Maclean
9f6edf8ada
Iterate over hosts hash table in a safer way
2015-01-28 16:03:24 +00:00
Michael Maclean
a308b81068
Replace calls to zend_hash_quick_find with NULL arguments
2015-01-28 16:03:05 +00:00
michael-grunder
66cdeb6b59
Allow integer connect_timeout in RedisArray
...
Addresses #520
2014-10-20 12:20:57 -07:00