summaryrefslogtreecommitdiff
path: root/src/or/dns.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/dns.c')
-rw-r--r--src/or/dns.c7
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);