From c87105431cc8eebea61a5e84804ea4a561d1a651 Mon Sep 17 00:00:00 2001 From: Geoff Garside Date: Fri, 17 Jun 2011 20:35:56 +0100 Subject: [PATCH] Use inet_ntop(3) in nodeIp2String & clusterCommand Replace inet_ntoa(3) calls with the more future proof inet_ntop(3) function which is capable of handling additional address families. --- src/cluster.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cluster.c b/src/cluster.c index a111c0300..f59b4561a 100644 --- a/src/cluster.c +++ b/src/cluster.c @@ -758,7 +758,7 @@ void nodeIp2String(char *buf, clusterLink *link) { if (getpeername(link->fd, (struct sockaddr*) &sa, &salen) == -1) redisPanic("getpeername() failed."); - strncpy(buf,inet_ntoa(sa.sin_addr),sizeof(link->node->ip)); + inet_ntop(sa.sin_family,(void*)&(sa.sin_addr),buf,sizeof(link->node->ip)); } @@ -2084,7 +2084,7 @@ void clusterCommand(redisClient *c) { /* Finally add the node to the cluster with a random name, this * will get fixed in the first handshake (ping/pong). */ n = createClusterNode(NULL,REDIS_NODE_HANDSHAKE|REDIS_NODE_MEET); - strncpy(n->ip,inet_ntoa(sa.sin_addr),sizeof(n->ip)); + inet_ntop(sa.sin_family,(void*)&(sa.sin_addr),n->ip,sizeof(n->ip)); n->port = port; clusterAddNode(n); addReply(c,shared.ok);