summaryrefslogtreecommitdiff
path: root/src/or/rendclient.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2016-08-29 15:02:11 -0400
committerNick Mathewson <nickm@torproject.org>2016-08-29 15:02:11 -0400
commitbbaa7d09a045130560a2f5da579671c5e02c9cd7 (patch)
tree232540453f40eb00b2dc0492b236967f383627e8 /src/or/rendclient.c
parentf46ce6e3d8bea3cf00388c87c29cdcafd4bab350 (diff)
parent19816f2f782568722964d35ee132af441a809db3 (diff)
downloadtor-bbaa7d09a045130560a2f5da579671c5e02c9cd7.tar.gz
tor-bbaa7d09a045130560a2f5da579671c5e02c9cd7.zip
Merge remote-tracking branch 'teor/reject-tap-v6'
Diffstat (limited to 'src/or/rendclient.c')
-rw-r--r--src/or/rendclient.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/or/rendclient.c b/src/or/rendclient.c
index 3468b07561..3a742fec0a 100644
--- a/src/or/rendclient.c
+++ b/src/or/rendclient.c
@@ -1368,8 +1368,13 @@ rend_client_get_random_intro_impl(const rend_cache_entry_t *entry,
i = crypto_rand_int(smartlist_len(usable_nodes));
intro = smartlist_get(usable_nodes, i);
+ if (BUG(!intro->extend_info)) {
+ /* This should never happen, but it isn't fatal, just try another */
+ smartlist_del(usable_nodes, i);
+ goto again;
+ }
/* Do we need to look up the router or is the extend info complete? */
- if (!intro->extend_info->onion_key) {
+ if (!extend_info_supports_tap(intro->extend_info)) {
const node_t *node;
extend_info_t *new_extend_info;
if (tor_digest_is_zero(intro->extend_info->identity_digest))