diff --git a/src/common/mempool.c b/src/common/mempool.c index 173c6034da..2b1775c1ba 100644 --- a/src/common/mempool.c +++ b/src/common/mempool.c @@ -385,11 +385,11 @@ mp_pool_clean(mp_pool_t *pool, int n) { mp_chunk_t *chunk, **first_to_free; if (n < 0) { + /* As said in the documentation, "negative n" means "leave an additional + * -n chunks". So replace n with a positive number. */ n = pool->min_empty_chunks + (-n); if (n < pool->n_empty_chunks) pool->min_empty_chunks = n; - /* XXX020 don't we want some sort of return here, given the - * assert that follows? -RD */ } ASSERT(n>=0); diff --git a/src/or/config.c b/src/or/config.c index 0e3cffae82..51610e777d 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -3119,9 +3119,7 @@ options_init_from_torrc(int argc, char **argv) if (argc > 1 && (!strcmp(argv[1],"--version"))) { char vbuf[128]; - // XXX020 below, tor_svn_revision will always be defined, right? - // So we can take out that check? Also in router.c. -RD - if (tor_svn_revision != NULL && strlen(tor_svn_revision)) { + if (strlen(tor_svn_revision)) { tor_snprintf(vbuf, sizeof(vbuf), " (r%s)", tor_svn_revision); } else { vbuf[0] = 0; diff --git a/src/or/dns.c b/src/or/dns.c index 7bd8c7a884..7cf6f9fad4 100644 --- a/src/or/dns.c +++ b/src/or/dns.c @@ -562,6 +562,9 @@ dns_resolve(edge_connection_t *exitconn) if (!exitconn->_base.marked_for_close) { connection_free(TO_CONN(exitconn)); //XXX020 ... and we just leak exitconn otherwise? -RD + // If it's marked for close, it's on closeable_connection_lst in + // main.c. If it's on the closeable list, it will get freed from + // main.c. -NM } break; default: diff --git a/src/or/router.c b/src/or/router.c index f7418ab00e..50ab1b416c 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -1249,8 +1249,7 @@ void get_platform_str(char *platform, size_t len) { char svn_version_buf[128]; - if (!strcmpend(VERSION, "-dev") && - tor_svn_revision != NULL && strlen(tor_svn_revision)) { + if (!strcmpend(VERSION, "-dev") && strlen(tor_svn_revision)) { tor_snprintf(svn_version_buf, sizeof(svn_version_buf), " (r%s)", tor_svn_revision); } else { diff --git a/src/or/routerlist.c b/src/or/routerlist.c index cbce80be57..bda3a3b50a 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -4856,8 +4856,8 @@ routerinfo_incompatible_with_extrainfo(routerinfo_t *ri, extrainfo_t *ei) if (ei->bad_sig) return 1; - /* XXX020 below we should explain why this is strcmp and not strcasecmp, - * since it differs from how we usually compare nicknames. -RD */ + /* The nickname must match exactly to have been generated at the same time + * by the same rotuer. */ if (strcmp(ri->nickname, ei->nickname) || memcmp(ri->cache_info.identity_digest, ei->cache_info.identity_digest, DIGEST_LEN)) diff --git a/src/or/routerparse.c b/src/or/routerparse.c index 2d363030de..6993158175 100644 --- a/src/or/routerparse.c +++ b/src/or/routerparse.c @@ -2142,8 +2142,6 @@ tokenize_string(const char *start, const char *end, smartlist_t *out, for (i = 0; table[i].t; ++i) { if (counts[table[i].v] < table[i].min_cnt) { log_warn(LD_DIR, "Parse error: missing %s element.", table[i].t); - tor_assert(0); /* XXX020 is this assert a remote crash waiting to - * happen? -RD */ return -1; } if (counts[table[i].v] > table[i].max_cnt) {