Loading changes/routerlist_ins_replace 0 → 100644 +5 −0 Original line number Diff line number Diff line o Minor bugfixes: - If we hit the error case where routerlist_insert() replaces an existing (old) server descriptor, make sure to remove that server descriptor from the old_routers list. Fix related to bug 1776. Bugfix on 0.2.2.18-alpha. src/or/routerlist.c +7 −0 Original line number Diff line number Diff line Loading @@ -2815,6 +2815,13 @@ routerlist_insert(routerlist_t *rl, routerinfo_t *ri) ri->cache_info.signed_descriptor_digest, &(ri->cache_info)); if (sd_old) { int idx = sd_old->routerlist_index; sd_old->routerlist_index = -1; smartlist_del(rl->old_routers, idx); if (idx < smartlist_len(rl->old_routers)) { signed_descriptor_t *d = smartlist_get(rl->old_routers, idx); d->routerlist_index = idx; } rl->desc_store.bytes_dropped += sd_old->signed_descriptor_len; sdmap_remove(rl->desc_by_eid_map, sd_old->extra_info_digest); signed_descriptor_free(sd_old); Loading Loading
changes/routerlist_ins_replace 0 → 100644 +5 −0 Original line number Diff line number Diff line o Minor bugfixes: - If we hit the error case where routerlist_insert() replaces an existing (old) server descriptor, make sure to remove that server descriptor from the old_routers list. Fix related to bug 1776. Bugfix on 0.2.2.18-alpha.
src/or/routerlist.c +7 −0 Original line number Diff line number Diff line Loading @@ -2815,6 +2815,13 @@ routerlist_insert(routerlist_t *rl, routerinfo_t *ri) ri->cache_info.signed_descriptor_digest, &(ri->cache_info)); if (sd_old) { int idx = sd_old->routerlist_index; sd_old->routerlist_index = -1; smartlist_del(rl->old_routers, idx); if (idx < smartlist_len(rl->old_routers)) { signed_descriptor_t *d = smartlist_get(rl->old_routers, idx); d->routerlist_index = idx; } rl->desc_store.bytes_dropped += sd_old->signed_descriptor_len; sdmap_remove(rl->desc_by_eid_map, sd_old->extra_info_digest); signed_descriptor_free(sd_old); Loading