]> git.saurik.com Git - redis.git/commitdiff
anetPeerToString() automatically populates ip/port with something that may be provide...
authorantirez <antirez@gmail.com>
Wed, 7 Mar 2012 10:30:30 +0000 (11:30 +0100)
committerantirez <antirez@gmail.com>
Wed, 7 Mar 2012 10:30:30 +0000 (11:30 +0100)
src/anet.c
src/networking.c

index 9aff4dfa173d94b7dd84e4034a92af591a934c47..ba4e6cce89bbc7a552e8510a03a2cb67c53af1f6 100644 (file)
@@ -353,7 +353,12 @@ int anetPeerToString(int fd, char *ip, int *port) {
     struct sockaddr_in sa;
     socklen_t salen = sizeof(sa);
 
-    if (getpeername(fd,(struct sockaddr*)&sa,&salen) == -1) return -1;
+    if (getpeername(fd,(struct sockaddr*)&sa,&salen) == -1) {
+        *port = 0;
+        ip[0] = '?';
+        ip[1] = '\0';
+        return -1;
+    }
     if (ip) strcpy(ip,inet_ntoa(sa.sin_addr));
     if (port) *port = ntohs(sa.sin_port);
     return 0;
index d8fb81320a0e183b8ab655a205d4bb415a516166..40aad83606a7a7a23b37f7abd81e7672db527257 100644 (file)
@@ -1087,11 +1087,7 @@ sds getClientInfoString(redisClient *client) {
     time_t now = time(NULL);
     int emask;
 
-    if (anetPeerToString(client->fd,ip,&port) == -1) {
-        ip[0] = '?';
-        ip[1] = '\0';
-        port = 0;
-    }
+    anetPeerToString(client->fd,ip,&port);
     p = flags;
     if (client->flags & REDIS_SLAVE) {
         if (client->flags & REDIS_MONITOR)