# HG changeset patch # User fonsinchen # Date 2013-10-27 11:51:14 # Node ID d965d79314c13afaf4e272ef558e7b485bace66a # Parent 322ed90de367b3b7308fb9d16f33d417d97eeed8 (svn r25915) -Fix: Unrestricted flow was counted incorrectly when invalidating flow. diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -4160,14 +4160,12 @@ void FlowStat::Invalidate() assert(!this->shares.empty()); SharesMap new_shares; uint i = 0; - uint orig = 0; for (SharesMap::iterator it(this->shares.begin()); it != this->shares.end(); ++it) { new_shares[++i] = it->second; - orig += it->first; - if (orig == this->unrestricted) this->unrestricted = orig; + if (it->first == this->unrestricted) this->unrestricted = i; } this->shares.swap(new_shares); - assert(!this->shares.empty()); + assert(!this->shares.empty() && this->unrestricted <= (--this->shares.end())->first); } /**