close socket in getPrimaryIPAddr even if exception occurs (#15558)

This commit is contained in:
Christian Ulrich 2020-10-12 22:02:17 +02:00 • committed by GitHub
commit 1f51a33998
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2005,6 +2005,8 @@ proc getPrimaryIPAddr*(dest = parseIpAddress("8.8.8.8")): IpAddress =
newSocket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)
else:
newSocket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP)
socket.connect($dest, 80.Port)
result = socket.getLocalAddr()[0].parseIpAddress()
socket.close()
try:
socket.connect($dest, 80.Port)
result = socket.getLocalAddr()[0].parseIpAddress()
finally:
socket.close()