From eeae8f5780a08198056fbfd258c7ab101a344333 Mon Sep 17 00:00:00 2001 From: Wolfgang Lux Date: Thu, 22 Dec 2011 08:30:39 +0000 Subject: [PATCH] Fix an uninitialized variable bug, which was introduced by a careless change while adding IPv6 support and would have the +port method of NSSocketPort randomly return invalid ports. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34343 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 6 ++++++ Source/NSSocketPort.m | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 87975fdc5..41e4227cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-12-22 Wolfgang Lux + + * Source/NSSocketPort.m (+portNumber:onHost:forceAddress:listener): + Fix an uninitialized variable bug, which could lead to returning + ports with an incorrect port number. + 2011-12-19 Riccardo Mottola * Source/GSString.m: diff --git a/Source/NSSocketPort.m b/Source/NSSocketPort.m index df48b162f..e32392142 100644 --- a/Source/NSSocketPort.m +++ b/Source/NSSocketPort.m @@ -1595,7 +1595,13 @@ static Class tcpPortClass; * listener socket to accept incoming connections. */ addrOk = GSPrivateSockaddrSetup(addr, number, nil, nil, &sockaddr); - if (NO == addrOk) + + /* + * Need size of buffer for getsockbyname() later. + */ + slen = sizeof(sockaddr); + + if (addrOk == NO) { NSLog(@"Bad address (%@) specified for listening port", addr); DESTROY(port);