mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-25 01:31:08 +00:00
Fix possible buffer overrun/corruption spotted by Fred.
This commit is contained in:
parent
35ef9423e0
commit
25b25080c3
2 changed files with 6 additions and 6 deletions
|
@ -33,7 +33,7 @@ typedef union {
|
|||
struct sockaddr s;
|
||||
struct sockaddr_in i4;
|
||||
#ifdef AF_INET6
|
||||
struct sockaddr_in i6;
|
||||
struct sockaddr_in6 i6;
|
||||
#endif
|
||||
#ifndef _WIN32
|
||||
struct sockaddr_un u;
|
||||
|
|
|
@ -1561,7 +1561,7 @@ setNonBlocking(SOCKET fd)
|
|||
if (result == nil && _address.s.sa_family != AF_UNSPEC)
|
||||
{
|
||||
SOCKET s = [self _sock];
|
||||
struct sockaddr sin;
|
||||
sockaddr_any sin;
|
||||
socklen_t size = sizeof(sin);
|
||||
|
||||
memset(&sin, '\0', size);
|
||||
|
@ -1569,7 +1569,7 @@ setNonBlocking(SOCKET fd)
|
|||
{
|
||||
if (getsockname(s, (struct sockaddr*)&sin, (OPTLEN*)&size) != -1)
|
||||
{
|
||||
result = GSPrivateSockaddrHost(&sin);
|
||||
result = GSPrivateSockaddrHost((struct sockaddr*)&sin);
|
||||
}
|
||||
}
|
||||
else if ([key isEqualToString: GSStreamLocalPortKey])
|
||||
|
@ -1577,14 +1577,14 @@ setNonBlocking(SOCKET fd)
|
|||
if (getsockname(s, (struct sockaddr*)&sin, (OPTLEN*)&size) != -1)
|
||||
{
|
||||
result = [NSString stringWithFormat: @"%d",
|
||||
(int)GSPrivateSockaddrPort(&sin)];
|
||||
(int)GSPrivateSockaddrPort((struct sockaddr*)&sin)];
|
||||
}
|
||||
}
|
||||
else if ([key isEqualToString: GSStreamRemoteAddressKey])
|
||||
{
|
||||
if (getpeername(s, (struct sockaddr*)&sin, (OPTLEN*)&size) != -1)
|
||||
{
|
||||
result = GSPrivateSockaddrHost(&sin);
|
||||
result = GSPrivateSockaddrHost((struct sockaddr*)&sin);
|
||||
}
|
||||
}
|
||||
else if ([key isEqualToString: GSStreamRemotePortKey])
|
||||
|
@ -1592,7 +1592,7 @@ setNonBlocking(SOCKET fd)
|
|||
if (getpeername(s, (struct sockaddr*)&sin, (OPTLEN*)&size) != -1)
|
||||
{
|
||||
result = [NSString stringWithFormat: @"%d",
|
||||
(int)GSPrivateSockaddrPort(&sin)];
|
||||
(int)GSPrivateSockaddrPort((struct sockaddr*)&sin)];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue