diff options
Diffstat (limited to 'src/or/rephist.c')
-rw-r--r-- | src/or/rephist.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/or/rephist.c b/src/or/rephist.c index f34c5b6dd1..0c5f937ffb 100644 --- a/src/or/rephist.c +++ b/src/or/rephist.c @@ -1607,18 +1607,24 @@ rep_hist_load_bwhist_state_section(bw_array_t *b, b->cur_obs_time = start; b->next_period = start + NUM_SECS_BW_SUM_INTERVAL; SMARTLIST_FOREACH_BEGIN(s_values, const char *, cp) { + const char *maxstr = NULL; v = tor_parse_uint64(cp, 10, 0, UINT64_MAX, &ok, NULL); if (have_maxima) { - const char *maxstr = smartlist_get(s_maxima, cp_sl_idx); + maxstr = smartlist_get(s_maxima, cp_sl_idx); mv = tor_parse_uint64(maxstr, 10, 0, UINT64_MAX, &ok_m, NULL); mv *= NUM_SECS_ROLLING_MEASURE; } else { /* No maxima known; guess average rate to be conservative. */ mv = v / s_interval; } - if (!ok || !ok_m) { + if (!ok) { retval = -1; - log_notice(LD_HIST, "Could not parse '%s' into a number.'", cp); + log_notice(LD_HIST, "Could not parse value '%s' into a number.'",cp); + } + if (maxstr && !ok_m) { + retval = -1; + log_notice(LD_HIST, "Could not parse maximum '%s' into a number.'", + maxstr); } if (start < now) { |