Avoid an integer underflow when the dir authority decides whether a

router is stable: we might wrongly label it stable, and compute a slightly
wrong median stability, when a descriptor is published later than now.

Inspired by Matt's Vidalia checkin:
http://trac.vidalia-project.net/changeset/1074


svn:r6758
This commit is contained in:
Roger Dingledine
2006-07-14 03:14:02 +00:00
parent 2c20882f02
commit c4411841d2
+4 -1
View File
@@ -1227,7 +1227,10 @@ static uint32_t guard_bandwidth = 0;
static INLINE int
real_uptime(routerinfo_t *router, time_t now)
{
return router->uptime + (now - router->cache_info.published_on);
if (now < router->cache_info.published_on)
return router->uptime;
else
return router->uptime + (now - router->cache_info.published_on);
}
/** Return 1 if <b>router</b> is not suitable for these parameters, else 0.