@@ -1344,7 +1344,7 @@ getsockaddrlen(PySocketSockObject *s, socklen_t *len_ret)
13441344static PyObject *
13451345sock_accept (PySocketSockObject * s )
13461346{
1347- char addrbuf [ 256 ] ;
1347+ sock_addr_t addrbuf ;
13481348 SOCKET_T newfd ;
13491349 socklen_t addrlen ;
13501350 PyObject * sock = NULL ;
@@ -1354,7 +1354,7 @@ sock_accept(PySocketSockObject *s)
13541354
13551355 if (!getsockaddrlen (s , & addrlen ))
13561356 return NULL ;
1357- memset (addrbuf , 0 , addrlen );
1357+ memset (& addrbuf , 0 , addrlen );
13581358
13591359#ifdef MS_WINDOWS
13601360 newfd = INVALID_SOCKET ;
@@ -1365,7 +1365,7 @@ sock_accept(PySocketSockObject *s)
13651365 Py_BEGIN_ALLOW_THREADS
13661366 timeout = internal_select (s , 0 );
13671367 if (!timeout )
1368- newfd = accept (s -> sock_fd , (struct sockaddr * ) addrbuf ,
1368+ newfd = accept (s -> sock_fd , (struct sockaddr * ) & addrbuf ,
13691369 & addrlen );
13701370 Py_END_ALLOW_THREADS
13711371
@@ -1392,7 +1392,7 @@ sock_accept(PySocketSockObject *s)
13921392 SOCKETCLOSE (newfd );
13931393 goto finally ;
13941394 }
1395- addr = makesockaddr (s -> sock_fd , (struct sockaddr * )addrbuf ,
1395+ addr = makesockaddr (s -> sock_fd , (struct sockaddr * ) & addrbuf ,
13961396 addrlen , s -> sock_proto );
13971397 if (addr == NULL )
13981398 goto finally ;
@@ -1865,19 +1865,19 @@ Return a new socket object connected to the same system resource.");
18651865static PyObject *
18661866sock_getsockname (PySocketSockObject * s )
18671867{
1868- char addrbuf [ 256 ] ;
1868+ sock_addr_t addrbuf ;
18691869 int res ;
18701870 socklen_t addrlen ;
18711871
18721872 if (!getsockaddrlen (s , & addrlen ))
18731873 return NULL ;
1874- memset (addrbuf , 0 , addrlen );
1874+ memset (& addrbuf , 0 , addrlen );
18751875 Py_BEGIN_ALLOW_THREADS
1876- res = getsockname (s -> sock_fd , (struct sockaddr * ) addrbuf , & addrlen );
1876+ res = getsockname (s -> sock_fd , (struct sockaddr * ) & addrbuf , & addrlen );
18771877 Py_END_ALLOW_THREADS
18781878 if (res < 0 )
18791879 return s -> errorhandler ();
1880- return makesockaddr (s -> sock_fd , (struct sockaddr * ) addrbuf , addrlen ,
1880+ return makesockaddr (s -> sock_fd , (struct sockaddr * ) & addrbuf , addrlen ,
18811881 s -> sock_proto );
18821882}
18831883
@@ -1894,19 +1894,19 @@ info is a pair (hostaddr, port).");
18941894static PyObject *
18951895sock_getpeername (PySocketSockObject * s )
18961896{
1897- char addrbuf [ 256 ] ;
1897+ sock_addr_t addrbuf ;
18981898 int res ;
18991899 socklen_t addrlen ;
19001900
19011901 if (!getsockaddrlen (s , & addrlen ))
19021902 return NULL ;
1903- memset (addrbuf , 0 , addrlen ) ;
1903+ memset (& addrbuf , 0 , addrlen ) ;
19041904 Py_BEGIN_ALLOW_THREADS
1905- res = getpeername (s -> sock_fd , (struct sockaddr * ) addrbuf , & addrlen );
1905+ res = getpeername (s -> sock_fd , (struct sockaddr * ) & addrbuf , & addrlen );
19061906 Py_END_ALLOW_THREADS
19071907 if (res < 0 )
19081908 return s -> errorhandler ();
1909- return makesockaddr (s -> sock_fd , (struct sockaddr * ) addrbuf , addrlen ,
1909+ return makesockaddr (s -> sock_fd , (struct sockaddr * ) & addrbuf , addrlen ,
19101910 s -> sock_proto );
19111911}
19121912
@@ -2115,7 +2115,7 @@ the remote end is closed and all data is read, return the empty string.");
21152115static PyObject *
21162116sock_recvfrom (PySocketSockObject * s , PyObject * args )
21172117{
2118- char addrbuf [ 256 ] ;
2118+ sock_addr_t addrbuf ;
21192119 PyObject * buf = NULL ;
21202120 PyObject * addr = NULL ;
21212121 PyObject * ret = NULL ;
@@ -2132,18 +2132,18 @@ sock_recvfrom(PySocketSockObject *s, PyObject *args)
21322132 return NULL ;
21332133
21342134 Py_BEGIN_ALLOW_THREADS
2135- memset (addrbuf , 0 , addrlen );
2135+ memset (& addrbuf , 0 , addrlen );
21362136 timeout = internal_select (s , 0 );
21372137 if (!timeout )
21382138 n = recvfrom (s -> sock_fd , PyString_AS_STRING (buf ), len , flags ,
21392139#ifndef MS_WINDOWS
21402140#if defined(PYOS_OS2 ) && !defined (PYCC_GCC )
2141- (struct sockaddr * )addrbuf , & addrlen
2141+ (struct sockaddr * ) & addrbuf , & addrlen
21422142#else
2143- (void * )addrbuf , & addrlen
2143+ (void * ) & addrbuf , & addrlen
21442144#endif
21452145#else
2146- (struct sockaddr * )addrbuf , & addrlen
2146+ (struct sockaddr * ) & addrbuf , & addrlen
21472147#endif
21482148 );
21492149 Py_END_ALLOW_THREADS
@@ -2161,7 +2161,7 @@ sock_recvfrom(PySocketSockObject *s, PyObject *args)
21612161 if (n != len && _PyString_Resize (& buf , n ) < 0 )
21622162 return NULL ;
21632163
2164- if (!(addr = makesockaddr (s -> sock_fd , (struct sockaddr * )addrbuf ,
2164+ if (!(addr = makesockaddr (s -> sock_fd , (struct sockaddr * ) & addrbuf ,
21652165 addrlen , s -> sock_proto )))
21662166 goto finally ;
21672167
@@ -2589,11 +2589,7 @@ static PyObject *
25892589socket_gethostbyname (PyObject * self , PyObject * args )
25902590{
25912591 char * name ;
2592- #ifdef ENABLE_IPV6
2593- struct sockaddr_storage addrbuf ;
2594- #else
2595- struct sockaddr_in addrbuf ;
2596- #endif
2592+ sock_addr_t addrbuf ;
25972593
25982594 if (!PyArg_ParseTuple (args , "s:gethostbyname" , & name ))
25992595 return NULL ;
0 commit comments