From bcaf737d236ad3001eb327a113e8a178bf4446e2 Mon Sep 17 00:00:00 2001 From: rfm Date: Fri, 14 Nov 2008 10:54:53 +0000 Subject: [PATCH] Fix potential byte order issue git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27046 72102866-910b-0410-8b05-ffd578937521 --- Source/GSSocketStream.m | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Source/GSSocketStream.m b/Source/GSSocketStream.m index 9d72f22fb..6b5399005 100644 --- a/Source/GSSocketStream.m +++ b/Source/GSSocketStream.m @@ -1391,6 +1391,8 @@ setNonBlocking(SOCKET fd) port: (int)port family: (int)family { + uint16_t p = (uint16_t)port; + switch (family) { case AF_INET: @@ -1402,7 +1404,7 @@ setNonBlocking(SOCKET fd) addr_c = [address cStringUsingEncoding: NSUTF8StringEncoding]; memset(&peer, '\0', sizeof(peer)); peer.sin_family = AF_INET; - peer.sin_port = GSSwapHostI16ToBig(port); + peer.sin_port = GSSwapHostI16ToBig(p); ptonReturn = inet_pton(AF_INET, addr_c, &peer.sin_addr); if (ptonReturn == 0) // error { @@ -1425,7 +1427,7 @@ setNonBlocking(SOCKET fd) addr_c = [address cStringUsingEncoding: NSUTF8StringEncoding]; memset(&peer, '\0', sizeof(peer)); peer.sin6_family = AF_INET6; - peer.sin6_port = GSSwapHostI16ToBig(port); + peer.sin6_port = GSSwapHostI16ToBig(p); ptonReturn = inet_pton(AF_INET6, addr_c, &peer.sin6_addr); if (ptonReturn == 0) // error { @@ -1443,7 +1445,7 @@ setNonBlocking(SOCKET fd) case AF_LOCAL: { struct sockaddr_un peer; - const char *c_addr; + const char *c_addr; c_addr = [address fileSystemRepresentation]; memset(&peer, '\0', sizeof(peer));