8000 Disable clone handlers for Redis and RedisCluster. · phpredis/phpredis@cd05a34 · GitHub
[go: up one dir, main page]

10000
Skip to content

Commit cd05a34

Browse files
Disable clone handlers for Redis and RedisCluster.
Presently PhpRedis will segfault if users attempt to clone either the Redis or RedisCluster objects. We plan on investigating proper clone support in future releases, but for now just diable the handlers.
1 parent 9d0cd31 commit cd05a34

File tree

2 files changed

+2
-0
lines changed

2 files changed

+2
-0
lines changed

redis.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -611,6 +611,7 @@ create_redis_object(zend_class_entry *ce)
611611
memcpy(&redis_object_handlers, zend_get_std_object_handlers(), sizeof(redis_object_handlers));
612612
redis_object_handlers.offset = XtOffsetOf(redis_object, std);
613613
redis_object_handlers.free_obj = free_redis_object;
614+
redis_object_handlers.clone_obj = NULL;
614615
redis->std.handlers = &redis_object_handlers;
615616

616617
return &redis->std;

redis_cluster.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,7 @@ zend_object * create_cluster_context(zend_class_entry *class_type) {
333333
memcpy(&RedisCluster_handlers, zend_get_std_object_handlers(), sizeof(RedisCluster_handlers));
334334
RedisCluster_handlers.offset = XtOffsetOf(redisCluster, std);
335335
RedisCluster_handlers.free_obj = free_cluster_context;
336+
RedisCluster_handlers.clone_obj = NULL;
336337

337338
cluster->std.handlers = &RedisCluster_handlers;
338339

0 commit comments

Comments
 (0)
0