From ef128301704f2c7de19e9227c44b2a1021542bb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Sun, 24 May 2015 12:07:25 +0200 Subject: Fix hang in TDENetMask::fromCIDRMask() due to point-to-point connections MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko (cherry picked from commit a0189f32f7f986760ab9a5f9b6a71ff09d64c4bf) --- tdecore/tdehw/tdenetworkconnections.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'tdecore') diff --git a/tdecore/tdehw/tdenetworkconnections.cpp b/tdecore/tdehw/tdenetworkconnections.cpp index 934c8f602..dec04e86b 100644 --- a/tdecore/tdehw/tdenetworkconnections.cpp +++ b/tdecore/tdehw/tdenetworkconnections.cpp @@ -99,7 +99,8 @@ void TDENetMask::fromCIDRMask(unsigned char mask, bool ipv6) { unsigned int internalMask = mask; if (!ipv6) { m_ipv4NetMask = 0; - for (i=31;i>=(32-internalMask);i--) { + for (i=32; i>(32-internalMask); ) { + i--; SET_BIT(m_ipv4NetMask, i); } m_isIPV6 = false; @@ -109,7 +110,8 @@ void TDENetMask::fromCIDRMask(unsigned char mask, bool ipv6) { j=0; unsigned int byteno=0; memset(maskarray.c, 0, 16); - for (i=127;i>=(128-internalMask);i--) { + for (i=128; i>(128-internalMask); ) { + i--; SET_BIT(maskarray.c[byteno], (i-((15-byteno)*8))); j++; if (j>7) { -- cgit v1.2.3