From c85ff4d6abe4a1790e8248ca92abf811c7c9803e Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Tue, 9 Jan 2007 00:37:13 +0000 Subject: [PATCH] Fix an assert error introduced in 0.1.2.5-alpha: if you're an advertised exit node, somebody might try to exit from you when you're bootstrapping and before you've built your descriptor yet. svn:r9305 --- ChangeLog | 5 +++++ src/or/router.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index ea121c3d2e..702757238f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -30,6 +30,11 @@ Changes in version 0.1.2.6-alpha - 2007-??-?? - Authorities do not recommend exits as guards if this would shift excess load to the exit nodes. + o Major bugfixes: + - Fix an assert error introduced in 0.1.2.5-alpha: if you're an + advertised exit node, somebody might try to exit from you when + you're bootstrapping and before you've built your descriptor yet. + o Minor bugfixes: - Restore a warning message if we accidentally resolve an address that we weren't planning to resolve. diff --git a/src/or/router.c b/src/or/router.c index b9b5151b91..35f1225834 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -701,7 +701,8 @@ router_upload_dir_desc_to_dirservers(int force) int router_compare_to_my_exit_policy(edge_connection_t *conn) { - tor_assert(desc_routerinfo); + if (!router_get_my_routerinfo()) /* make sure desc_routerinfo exists */ + return -1; /* make sure it's resolved to something. this way we can't get a 'maybe' below. */