diff options
author | Nick Mathewson <nickm@torproject.org> | 2015-09-01 09:19:00 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2015-09-01 09:19:00 -0400 |
commit | 2c5fec15f7542a3190e3f406820c998bdecdc5f7 (patch) | |
tree | 4bee6be0b4b49365b6369d75b721693362d73ae4 | |
parent | 6034e2133151fff25fb4aeed3b38efaab9e05532 (diff) | |
parent | bbb73eaf31d3df5cde70ac4ca7145ffca053d53e (diff) | |
download | tor-2c5fec15f7542a3190e3f406820c998bdecdc5f7.tar.gz tor-2c5fec15f7542a3190e3f406820c998bdecdc5f7.zip |
Merge remote-tracking branch 'sebastian/channel_free_list'
-rw-r--r-- | changes/bug16924 | 6 | ||||
-rw-r--r-- | src/or/channel.c | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/changes/bug16924 b/changes/bug16924 new file mode 100644 index 0000000000..a1bc96e54d --- /dev/null +++ b/changes/bug16924 @@ -0,0 +1,6 @@ + o Minor bugfixes: + - When calling channel_free_list(), avoid calling smartlist_remove() + while inside a FOREACH loop. This partially reverts commit + 17356fe7fd96af where the correct SMARTLIST_DEL_CURRENT was + removed. Fixes bug 16929; bugfix on 0.2.4.4-alpha. + diff --git a/src/or/channel.c b/src/or/channel.c index af095026e4..21522a5303 100644 --- a/src/or/channel.c +++ b/src/or/channel.c @@ -3069,6 +3069,7 @@ channel_free_list(smartlist_t *channels, int mark_for_close) if (curr->cmux) { circuitmux_detach_all_circuits(curr->cmux, NULL); } + SMARTLIST_DEL_CURRENT(channels, curr); channel_unregister(curr); if (mark_for_close) { if (!CHANNEL_CONDEMNED(curr)) { |