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

fixes undefined
This commit is contained in:
Steven Looman 2022-12-30 15:30:29 +01:00 committed by GitHub
parent 55885f49f2
commit a9be2adf06
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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) test_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
for port in range(UPNP_SERVER_MIN_PORT, UPNP_SERVER_MAX_PORT): for port in range(UPNP_SERVER_MIN_PORT, UPNP_SERVER_MAX_PORT):
addr = (source[0],) + (port,) + source[2:]
try: try:
test_socket.bind(source) test_socket.bind(addr)
return port return port
except OSError: except OSError:
if port == UPNP_SERVER_MAX_PORT: if port == UPNP_SERVER_MAX_PORT - 1:
raise raise
raise RuntimeError("unreachable") raise RuntimeError("unreachable")