]> granicus.if.org Git - libevent/commitdiff
be: we don't need to use getpeername() we we have conn_address
authorAzat Khuzhin <a3at.mail@gmail.com>
Sat, 15 Nov 2014 21:30:11 +0000 (00:30 +0300)
committerAzat Khuzhin <a3at.mail@gmail.com>
Tue, 18 Aug 2015 17:06:53 +0000 (20:06 +0300)
Since getpeername() could fail.

bufferevent_sock.c

index 63db9341c4331ffa3f3b6180a47e9ea36feee5f8..9c4df626d82507245612787e459f175f9cd33819 100644 (file)
@@ -114,7 +114,8 @@ bufferevent_socket_set_conn_address_fd(struct bufferevent_private *bev_p, int fd
        socklen_t len = sizeof(bev_p->conn_address);
 
        struct sockaddr *addr = (struct sockaddr *)&bev_p->conn_address;
-       getpeername(fd, addr, &len);
+       if (addr->sa_family != AF_UNSPEC)
+               getpeername(fd, addr, &len);
 }
 static void
 bufferevent_socket_set_conn_address(struct bufferevent_private *bev_p,