diff options
Diffstat (limited to 'src/or/dns.c')
-rw-r--r-- | src/or/dns.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/or/dns.c b/src/or/dns.c index 041ae74bc0..5af868b27b 100644 --- a/src/or/dns.c +++ b/src/or/dns.c @@ -549,11 +549,12 @@ dns_resolve(edge_connection_t *exitconn) or_circuit_t *oncirc = TO_OR_CIRCUIT(exitconn->on_circuit); int is_resolve, r; char *hostname = NULL; - routerinfo_t *me = router_get_my_routerinfo(); + routerinfo_t *me; is_resolve = exitconn->_base.purpose == EXIT_PURPOSE_RESOLVE; - if (is_resolve && me && - policy_is_reject_star(me->exit_policy)) /* non-exit */ + if (is_resolve && + (!(me = router_get_my_routerinfo()) || + policy_is_reject_star(me->exit_policy))) /* non-exit */ r = -1; else r = dns_resolve_impl(exitconn, is_resolve, oncirc, &hostname); |