From 139d367f297575a59b96b64a633ed2b6988d60e1 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Sun, 5 May 2013 18:52:53 -0400 Subject: Fix 8833: crash bug from using NULL node->ri in dirserv.c It appears that moria1 crashed because of one instance of this (the one in router_counts_toward_thresholds). The other instance I fixed won't actually have broken anything, but I think it's more clear this way. Fixes bug 8833; bugfix on 0.2.4.12-alpha. --- src/or/dirserv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/or/dirserv.c b/src/or/dirserv.c index 66a2c14f84..16f297a80a 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -1889,7 +1889,7 @@ router_counts_toward_thresholds(const node_t *node, time_t now, { /* Have measured bw? */ int have_mbw = - dirserv_has_measured_bw(node->ri->cache_info.identity_digest); + dirserv_has_measured_bw(node->identity); uint64_t min_bw_kb = ABSOLUTE_MIN_BW_VALUE_TO_CONSIDER_KB; const or_options_t *options = get_options(); @@ -1959,7 +1959,7 @@ dirserv_compute_performance_thresholds(routerlist_t *rl, if (router_counts_toward_thresholds(node, now, omit_as_sybil, require_mbw)) { routerinfo_t *ri = node->ri; - const char *id = ri->cache_info.identity_digest; + const char *id = node->identity; uint32_t bw_kb; node->is_exit = (!router_exit_policy_rejects_all(ri) && exit_policy_is_general_exit(ri->exit_policy)); -- cgit v1.2.3-54-g00ecf From a1d7f7ea503f2f739953d6a25ebb5d93981604be Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Sun, 5 May 2013 18:55:19 -0400 Subject: Use a clearer idiom for node identity in router_counts_toward_thresholds --- src/or/dirserv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/or/dirserv.c b/src/or/dirserv.c index 16f297a80a..8f6d9ec438 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -1898,7 +1898,7 @@ router_counts_toward_thresholds(const node_t *node, time_t now, } return node->ri && router_is_active(node->ri, node, now) && - !digestmap_get(omit_as_sybil, node->ri->cache_info.identity_digest) && + !digestmap_get(omit_as_sybil, node->identity) && (dirserv_get_credible_bandwidth_kb(node->ri) >= min_bw_kb) && (have_mbw || !require_mbw); } -- cgit v1.2.3-54-g00ecf