From: flyingeagle23 Date: Tue, 12 Sep 2017 07:10:46 +0000 (+0800) Subject: Fix issue in nat Bisearch algorithm (VPP-980) X-Git-Tag: v17.10-rc1~91 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F88%2F8388%2F3;p=vpp.git Fix issue in nat Bisearch algorithm (VPP-980) Change-Id: I39b1d1ec6fb9a10e2a0e67d36b01c0bf2522d07f Signed-off-by: flyingeagle23 --- diff --git a/src/plugins/nat/nat.c b/src/plugins/nat/nat.c index b13c8571020..faf75fcb618 100644 --- a/src/plugins/nat/nat.c +++ b/src/plugins/nat/nat.c @@ -1323,7 +1323,7 @@ int snat_static_mapping_match (snat_main_t * sm, rand = 1 + (random_u32 (&sm->random_seed) % m->locals[hi].prefix); while (lo < hi) { - mid = ((hi - 1) >> 1) + lo; + mid = ((hi - lo) >> 1) + lo; (rand > m->locals[mid].prefix) ? (lo = mid + 1) : (hi = mid); } if (!(m->locals[lo].prefix >= rand))