aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Palfrader <peter@palfrader.org>2007-07-02 15:13:52 +0000
committerPeter Palfrader <peter@palfrader.org>2007-07-02 15:13:52 +0000
commitea1348360ea2c03e29cadace9af620cfec7c36a9 (patch)
treedd2ee2619a7c9801675d7b39a29a2779e75a3481 /src
parent1bdcfd92033d85d747ddc6fe85f986edba3f43b3 (diff)
downloadtor-ea1348360ea2c03e29cadace9af620cfec7c36a9.tar
tor-ea1348360ea2c03e29cadace9af620cfec7c36a9.tar.gz
Three more assertions which hopefully are sane, Nick? They might help track down #417.
svn:r10720
Diffstat (limited to 'src')
-rw-r--r--src/or/routerlist.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 5981d2295..ecb5ee70f 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -1867,6 +1867,7 @@ routerlist_is_overfull(routerlist_t *rl)
static INLINE int
_routerlist_find_elt(smartlist_t *sl, void *ri, int idx)
{
+ tor_assert(idx < sl->num_used);
if (idx < 0 || smartlist_get(sl, idx) != ri) {
idx = -1;
SMARTLIST_FOREACH(sl, routerinfo_t *, r,
@@ -2125,6 +2126,7 @@ routerlist_replace(routerlist_t *rl, routerinfo_t *ri_old,
smartlist_set(rl->routers, idx, ri_new);
ri_old->routerlist_index = -1;
ri_new->routerlist_index = idx;
+ tor_assert( _routerlist_find_elt(rl->routers, ri_old, 0) == -1 );
} else {
log_warn(LD_BUG, "Appending entry from routerlist_replace.");
routerlist_insert(rl, ri_new);
@@ -2420,6 +2422,7 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg,
router->cache_info.identity_digest);
if (old_router) {
int pos = old_router->routerlist_index;
+ tor_assert(0 <= pos && pos < routerlist->routers->num_used);
tor_assert(smartlist_get(routerlist->routers, pos) == old_router);
if (router->cache_info.published_on <=