Skip to content

Commit 770034c

Browse files
Cloning our objects should not segfault
In a future release we can actually implement cloning logic along with lazy reconnection but for now, just throw a fatal error. Fixes #1760
1 parent ab593f0 commit 770034c

File tree

3 files changed

+3
-0
lines changed

3 files changed

+3
-0
lines changed

redis.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,7 @@ create_redis_object(zend_class_entry *ce)
217217
memcpy(&redis_object_handlers, zend_get_std_object_handlers(), sizeof(redis_object_handlers));
218218
redis_object_handlers.offset = XtOffsetOf(redis_object, std);
219219
redis_object_handlers.free_obj = free_redis_object;
220+
redis_object_handlers.clone_obj = NULL;
220221
redis->std.handlers = &redis_object_handlers;
221222

222223
return &redis->std;

redis_array.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ create_redis_array_object(zend_class_entry *ce)
121121
memcpy(&redis_array_object_handlers, zend_get_std_object_handlers(), sizeof(redis_array_object_handlers));
122122
redis_array_object_handlers.offset = XtOffsetOf(redis_array_object, std);
123123
redis_array_object_handlers.free_obj = free_redis_array_object;
124+
redis_array_object_handlers.clone_obj = NULL;
124125
obj->std.handlers = &redis_array_object_handlers;
125126

126127
return &obj->std;

redis_cluster.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ zend_object * create_cluster_context(zend_class_entry *class_type) {
209209
memcpy(&RedisCluster_handlers, zend_get_std_object_handlers(), sizeof(RedisCluster_handlers));
210210
RedisCluster_handlers.offset = XtOffsetOf(redisCluster, std);
211211
RedisCluster_handlers.free_obj = free_cluster_context;
212+
RedisCluster_handlers.clone_obj = NULL;
212213

213214
cluster->std.handlers = &RedisCluster_handlers;
214215

0 commit comments

Comments
 (0)