diff --git a/ChangeLog b/ChangeLog index 01107f0908..20eb4b7574 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Changes in version 0.1.2.12-rc - 2007-03-?? + o Major bugfixes: + - Fix an infinite loop introduced in 0.1.2.7-alpha when we serve + directory information requested inside Tor connections (i.e. via + begin_dir cells). It only triggered when the same connection was + serving other data at the same time. Reported by seeess. + + Changes in version 0.1.2.11-rc - 2007-03-15 o Minor bugfixes (controller), reported by daejees: - Correct the control spec to match how the code actually responds diff --git a/src/or/dirserv.c b/src/or/dirserv.c index d55dc8e2f3..9186f7252a 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -2081,8 +2081,8 @@ connection_dirserv_stop_blocking_all_on_or_conn(or_connection_t *or_conn) { dir_connection_t *dir_conn, *next; - while (or_conn->blocked_dir_connections) { - dir_conn = or_conn->blocked_dir_connections; + dir_conn = or_conn->blocked_dir_connections; + while (dir_conn) { next = dir_conn->next_blocked_on_same_or_conn; dir_conn->is_blocked_on_or_conn = 0;