[tor-bugs] #1789 [Tor Relay]: Wake-up from Hibernation Occurs Day 1 Each Month
Tor Bug Tracker & Wiki
torproject-admin at torproject.org
Mon Sep 20 04:31:26 UTC 2010
#1789: Wake-up from Hibernation Occurs Day 1 Each Month
---------------------------------+------------------------------------------
Reporter: BarkerJr | Type: defect
Status: needs_review | Priority: minor
Milestone: Tor: 0.2.2.x-final | Component: Tor Relay
Version: Tor: 0.2.2.14-alpha | Keywords:
Parent: |
---------------------------------+------------------------------------------
Comment(by arma):
{{{
+ uint64_t soft_limit = DBL_TO_U64(U64_TO_DBL(acct_max) * SOFT_LIM_PCT);
+ if (acct_max > SOFT_LIM_BYTES && acct_max - SOFT_LIM_BYTES >
soft_limit) {
+ soft_limit = acct_max - SOFT_LIM_BYTES;
+ }
}}}
I'm not certain of my C anymore, but it seems like the "acct_max >
SOFT_LIM_BYTES" part here is redundant, yes? If acct_max - SOFT_LIM_BYTES
is negative, it's hardly going to find itself > soft_limit, which is a
uint64, right?
I mean, I can see the underflow worry if you were assigning acct_max -
SOFT_LIM_BYTES to a uint64_t before the comparison. But you're not. Are
compilers really so stupid? Or to say it more nicely, are compilers really
so fickle?
Same deal with the later stanza:
{{{
+ if (acct_max > expected_usage && acct_max - expected_usage >
soft_limit)
+ soft_limit = acct_max - expected_usage;
}}}
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/1789#comment:24>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list