From 7a28862d56c15e4b83efc514621a330085781323 Mon Sep 17 00:00:00 2001 From: Mike Perry Date: Wed, 21 Nov 2012 16:33:16 -0800 Subject: [PATCH] Fix another crash bug. --- src/or/circuitbuild.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index aaa1959704..8304ad8b89 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -1501,14 +1501,19 @@ pathbias_get_closed_count(entry_guard_t *guard) /* Count currently open circuits. Give them the benefit of the doubt */ for ( ; circ; circ = circ->next) { + origin_circuit_t *ocirc = NULL; if (!CIRCUIT_IS_ORIGIN(circ) || /* didn't originate here */ - circ->marked_for_close || /* already counted */ - !circ->cpath || !circ->cpath->extend_info) + circ->marked_for_close) /* already counted */ continue; - if (TO_ORIGIN_CIRCUIT(circ)->path_state == PATH_STATE_SUCCEEDED && + ocirc = TO_ORIGIN_CIRCUIT(circ); + + if(!ocirc->cpath || !ocirc->cpath->extend_info) + continue; + + if (ocirc->path_state == PATH_STATE_SUCCEEDED && (memcmp(guard->identity, - TO_ORIGIN_CIRCUIT(circ)->cpath->extend_info->identity_digest, + ocirc->cpath->extend_info->identity_digest, DIGEST_LEN) == 0)) { open_circuits++; -- 2.47.3