From 6bd006bdb8e46a5fa21230e649cf6742bb0856d5 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Wed, 11 Jun 2008 22:46:31 +0000 Subject: [PATCH] you can't strcasecmp on 20-byte digests what if they contain nuls? (worse, what if they *don't* contain nuls? ;) svn:r15149 --- src/or/rendservice.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/or/rendservice.c b/src/or/rendservice.c index bf5eb3889a..f5009185e0 100644 --- a/src/or/rendservice.c +++ b/src/or/rendservice.c @@ -1026,8 +1026,8 @@ find_intro_circuit(rend_intro_point_t *intro, const char *pk_digest, tor_assert(intro); while ((circ = circuit_get_next_by_pk_and_purpose(circ,pk_digest, CIRCUIT_PURPOSE_S_INTRO))) { - if (!strcasecmp(circ->build_state->chosen_exit->identity_digest, - intro->extend_info->identity_digest) && + if (!memcmp(circ->build_state->chosen_exit->identity_digest, + intro->extend_info->identity_digest, DIGEST_LEN) && circ->rend_desc_version == desc_version) { return circ; } @@ -1036,8 +1036,8 @@ find_intro_circuit(rend_intro_point_t *intro, const char *pk_digest, circ = NULL; while ((circ = circuit_get_next_by_pk_and_purpose(circ,pk_digest, CIRCUIT_PURPOSE_S_ESTABLISH_INTRO))) { - if (!strcasecmp(circ->build_state->chosen_exit->identity_digest, - intro->extend_info->identity_digest) && + if (!memcmp(circ->build_state->chosen_exit->identity_digest, + intro->extend_info->identity_digest, DIGEST_LEN) && circ->rend_desc_version == desc_version) { return circ; } -- 2.11.4.GIT