File tree 1 file changed +13
-1
lines changed
mcs/class/System/System.Net.Sockets
1 file changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -1160,7 +1160,19 @@ bool GetCheckedIPs (SocketAsyncEventArgs e, out IPAddress [] addresses)
1160
1160
// while skipping entries that do not match the address family
1161
1161
DnsEndPoint dep = e . RemoteEndPoint as DnsEndPoint ;
1162
1162
if ( dep != null ) {
1163
- addresses = Dns . GetHostAddresses ( dep . Host ) ;
1163
+ var possibleAddresses = Dns . GetHostAddresses ( dep . Host ) ;
1164
+ var numberOfAddresses = 0 ;
1165
+ int [ ] addressIndices = new int [ possibleAddresses . Length ] ;
1166
+ for ( var i = 0 ; i < possibleAddresses . Length ; i ++ ) {
1167
+ if ( possibleAddresses [ i ] . AddressFamily == dep . AddressFamily ) {
1168
+ addressIndices [ numberOfAddresses ] = i ;
1169
+ numberOfAddresses ++ ;
1170
+ }
1171
+ }
1172
+ addresses = new IPAddress [ numberOfAddresses ] ;
1173
+ for ( var i = 0 ; i < numberOfAddresses ; i ++ )
1174
+ addresses [ i ] = possibleAddresses [ addressIndices [ i ] ] ;
1175
+
1164
1176
return true ;
1165
1177
} else {
1166
1178
e . ConnectByNameError = null ;
You can’t perform that action at this time.
0 commit comments