summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2019-12-20 12:29:02 +0100
committerantirez <antirez@gmail.com>2020-03-05 16:15:36 +0100
commit920e108f84338b5ce08a02169160f0981b030bca (patch)
treed6374837e5abc9c3c20f5fb4e6a40b4c9e75210f
parent7569b210d6be5c76d5bfb3e1d35663859e735429 (diff)
downloadredis-920e108f84338b5ce08a02169160f0981b030bca.tar.gz
Fix ip and missing mode in RM_GetClusterNodeInfo().
-rw-r--r--src/module.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/module.c b/src/module.c
index dd323e823..46c0176f1 100644
--- a/src/module.c
+++ b/src/module.c
@@ -4378,10 +4378,13 @@ int RM_GetClusterNodeInfo(RedisModuleCtx *ctx, const char *id, char *ip, char *m
UNUSED(ctx);
clusterNode *node = clusterLookupNode(id);
- if (node->flags & (CLUSTER_NODE_NOADDR|CLUSTER_NODE_HANDSHAKE))
+ if (node == NULL ||
+ node->flags & (CLUSTER_NODE_NOADDR|CLUSTER_NODE_HANDSHAKE))
+ {
return REDISMODULE_ERR;
+ }
- if (ip) memcpy(ip,node->name,REDISMODULE_NODE_ID_LEN);
+ if (ip) strncpy(ip,node->ip,NET_IP_STR_LEN);
if (master_id) {
/* If the information is not available, the function will set the