]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Add comments explaining why we have sockaddr[2] so that nobody goes 'w...t..f...'
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Mon, 20 Aug 2007 18:35:22 +0000 (18:35 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Mon, 20 Aug 2007 18:35:22 +0000 (18:35 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7779 e03df62e-2008-0410-955e-edbf42e46eb7

src/inspsocket.cpp

index eb92030c248284f0d726acfe4c946bfe2a7faf23..2cfa6fd677f66ab06d6b3e030abcb1fae17136e1 100644 (file)
@@ -179,6 +179,7 @@ bool InspSocket::BindAddr(const std::string &ip)
                {
                        if (!ip.empty() || ((IP != "*") && (IP != "127.0.0.1") && (!IP.empty()) && (IP != "::1")))
                        {
+                               /* The [2] is required because we may write a sockaddr_in6 here, and sockaddr_in6 is larger than sockaddr, where sockaddr_in4 is not. */
                                sockaddr* s = new sockaddr[2];
 #ifdef IPV6
                                if (v6)
@@ -236,6 +237,7 @@ bool InspSocket::BindAddr(const std::string &ip)
 
 bool InspSocket::DoConnect()
 {
+       /* The [2] is required because we may write a sockaddr_in6 here, and sockaddr_in6 is larger than sockaddr, where sockaddr_in4 is not. */
        sockaddr* addr = new sockaddr[2];
        socklen_t size = sizeof(sockaddr_in);
 #ifdef IPV6
@@ -594,6 +596,7 @@ bool InspSocket::Poll()
                break;
                case I_LISTENING:
                {
+                       /* The [2] is required because we may write a sockaddr_in6 here, and sockaddr_in6 is larger than sockaddr, where sockaddr_in4 is not. */
                        sockaddr* client = new sockaddr[2];
                        length = sizeof (sockaddr_in);
                        std::string recvip;