diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/or/routerlist.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/or/routerlist.c b/src/or/routerlist.c index 6703ef7e3..f9efc3f30 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -1867,15 +1867,17 @@ routerlist_is_overfull(routerlist_t *rl) static INLINE int _routerlist_find_elt(smartlist_t *sl, void *ri, int idx) { - tor_assert(idx < smartlist_len(sl)); - if (idx < 0 || smartlist_get(sl, idx) != ri) { + if (idx < 0) { idx = -1; SMARTLIST_FOREACH(sl, routerinfo_t *, r, if (r == ri) { idx = r_sl_idx; break; }); - } + } else { + tor_assert(idx < smartlist_len(sl)); + tor_assert(smartlist_get(sl, idx) == ri); + }; return idx; } |