From: Sebastian Hahn Date: Tue, 26 Apr 2011 13:33:08 +0000 (+0200) Subject: Fix more of bug 2704 X-Git-Tag: tor-0.2.3.1-alpha~37^2~1^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6fde2b46d2cc2345ec955b1ed9674a777e5e8716;p=thirdparty%2Ftor.git Fix more of bug 2704 The last entry of the *Maxima values in the state file was inflated by a factor of NUM_SECS_ROLLING_MEASURE (currently 10). This could lead to a wrong maximum value propagating through the state file history. --- diff --git a/changes/bug2704 b/changes/bug2704 new file mode 100644 index 0000000000..821b38bc08 --- /dev/null +++ b/changes/bug2704 @@ -0,0 +1,5 @@ + o Major bugfixes: + - When writing our maximum bw for the current interval to the state + file, don't wrongly inflate that value by a factor of 10 anymore. + Fixes more of bug 2704. + diff --git a/src/or/rephist.c b/src/or/rephist.c index fb091d5adf..9146fce7f3 100644 --- a/src/or/rephist.c +++ b/src/or/rephist.c @@ -1614,7 +1614,8 @@ rep_hist_update_bwhist_state_section(or_state_t *state, } tor_asprintf(&cp, U64_FORMAT, U64_PRINTF_ARG(b->total_in_period & ~0x3ff)); smartlist_add(*s_values, cp); - tor_asprintf(&cp, U64_FORMAT, U64_PRINTF_ARG(b->max_total & ~0x3ff)); + maxval = b->max_total / NUM_SECS_ROLLING_MEASURE; + tor_asprintf(&cp, U64_FORMAT, U64_PRINTF_ARG(maxval & ~0x3ff)); smartlist_add(*s_maxima, cp); }