Actually try port when finding next available port for ssdp server (#84206)

fixes undefined
pull/85120/head
Steven Looman 2022-12-30 15:30:29 +01:00 committed by Franck Nijhof
parent d9aff9d7b0
commit f05de2b28c
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
1 changed files with 3 additions and 2 deletions

View File

@ -706,11 +706,12 @@ async def _async_find_next_available_port(source: AddressTupleVXType) -> int:
test_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
for port in range(UPNP_SERVER_MIN_PORT, UPNP_SERVER_MAX_PORT):
addr = (source[0],) + (port,) + source[2:]
try:
test_socket.bind(source)
test_socket.bind(addr)
return port
except OSError:
if port == UPNP_SERVER_MAX_PORT:
if port == UPNP_SERVER_MAX_PORT - 1:
raise
raise RuntimeError("unreachable")