From 9aed1afa6a8c90d7051b9596554033add02805f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Mon, 15 Jan 2007 12:53:11 +0000 Subject: [PATCH] "step" could be zero, in which case the loop would never end. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19809 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/network/protocols/tcp/EndpointManager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/network/protocols/tcp/EndpointManager.cpp b/src/add-ons/kernel/network/protocols/tcp/EndpointManager.cpp index 2ff5be2526..e6980a94dd 100644 --- a/src/add-ons/kernel/network/protocols/tcp/EndpointManager.cpp +++ b/src/add-ons/kernel/network/protocols/tcp/EndpointManager.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2006, Haiku, Inc. All Rights Reserved. + * Copyright 2006-2007, Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. * * Authors: @@ -272,7 +272,7 @@ EndpointManager::BindToEphemeral(TCPEndpoint *endpoint, sockaddr *address) for (int32 i = 1; i < 5; i++) { // try to retrieve a more or less random port uint32 counter = kFirstEphemeralPort; - uint32 step = i == 4 ? 1 : system_time() & 0x1f; + uint32 step = i == 4 ? 1 : (system_time() & 0x1f) + 1; while (counter < max) { uint16 port = counter & 0xffff;