summaryrefslogtreecommitdiff
path: root/src/or/circuitbuild.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-05-16 10:40:21 -0400
committerNick Mathewson <nickm@torproject.org>2012-05-16 10:40:21 -0400
commitee246bbe95a3adbc86ac8eb3794f55011c2059d5 (patch)
tree9cc5db4e694a246d2f806c0da2cd747bb004ece4 /src/or/circuitbuild.c
parent891cf72f7103bc5b4de26ac974c0fd42a9d3c88f (diff)
parent0888c2f8f55037b49fead49091013f2cc7de17c5 (diff)
downloadtor-ee246bbe95a3adbc86ac8eb3794f55011c2059d5.tar.gz
tor-ee246bbe95a3adbc86ac8eb3794f55011c2059d5.zip
Merge remote-tracking branch 'public/bug3296'
Diffstat (limited to 'src/or/circuitbuild.c')
-rw-r--r--src/or/circuitbuild.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index 5481838ccb..3b82ed7455 100644
--- a/src/or/circuitbuild.c
+++ b/src/or/circuitbuild.c
@@ -2847,6 +2847,10 @@ choose_good_exit_server_general(int need_uptime, int need_capacity)
if (node)
break;
smartlist_clear(supporting);
+ /* If we reach this point, we can't actually support any unhandled
+ * predicted ports, so clear all the remaining ones. */
+ if (smartlist_len(needed_ports))
+ rep_hist_remove_predicted_ports(needed_ports);
}
SMARTLIST_FOREACH(needed_ports, uint16_t *, cp, tor_free(cp));
smartlist_free(needed_ports);