summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2007-06-02 12:44:57 +0000
committerNick Mathewson <nickm@torproject.org>2007-06-02 12:44:57 +0000
commit2ef3e7853b968d394b7fbc0e87bc687f685ccf00 (patch)
tree5586a5bca6765c488e55d953030b3d0ffd304e9f
parent5b6d7f10f3e1748d8437720d001554abddaa0fd9 (diff)
downloadtor-2ef3e7853b968d394b7fbc0e87bc687f685ccf00.tar.gz
tor-2ef3e7853b968d394b7fbc0e87bc687f685ccf00.zip
r13144@catbus: nickm | 2007-06-02 08:44:42 -0400
Add some asserts to catch double-insert on routerlist. svn:r10445
-rw-r--r--src/or/routerlist.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 2faa36e207..6e5c8b7d6d 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -1893,6 +1893,7 @@ routerlist_insert(routerlist_t *rl, routerinfo_t *ri)
routerinfo_t *ri_generated = router_get_my_routerinfo();
tor_assert(ri_generated != ri);
}
+ tor_assert(ri->routerlist_index == -1);
ri_old = digestmap_set(rl->identity_map, ri->cache_info.identity_digest, ri);
tor_assert(!ri_old);
@@ -1981,6 +1982,8 @@ routerlist_insert_old(routerlist_t *rl, routerinfo_t *ri)
routerinfo_t *ri_generated = router_get_my_routerinfo();
tor_assert(ri_generated != ri);
}
+ tor_assert(ri->routerlist_index == -1);
+
if (get_options()->DirPort &&
ri->purpose == ROUTER_PURPOSE_GENERAL &&
!digestmap_get(rl->desc_digest_map,
@@ -2113,6 +2116,8 @@ routerlist_replace(routerlist_t *rl, routerinfo_t *ri_old,
tor_assert(ri_generated != ri_new);
}
tor_assert(ri_old != ri_new);
+ tor_assert(ri_new->routerlist_index == -1);
+
idx = _routerlist_find_elt(rl->routers, ri_old, idx);
router_dir_info_changed();
if (idx >= 0) {