commit 4df31adef7ada9221de7e39430a34234dd3fc6cb
parent 4bc55ed5ee5aefa1d86aca34bc5bfba2f24086f3
Author: Nick Mathewson <nickm@torproject.org>
Date: Tue, 19 Feb 2019 11:51:19 -0500
Merge remote-tracking branch 'tor-github/pr/704' into maint-0.4.0
Diffstat:
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/changes/bug29508 b/changes/bug29508
@@ -0,0 +1,3 @@
+ o Minor bugfixes (scheduler):
+ - When readding channels to the pending list, check the correct channel's
+ sched_heap_idx. Fixes bug 29508; bugfix on 0.3.2.10
diff --git a/src/core/or/scheduler_kist.c b/src/core/or/scheduler_kist.c
@@ -724,7 +724,7 @@ kist_scheduler_run(void)
SMARTLIST_FOREACH_BEGIN(to_readd, channel_t *, readd_chan) {
scheduler_set_channel_state(readd_chan, SCHED_CHAN_PENDING);
if (!smartlist_contains(cp, readd_chan)) {
- if (!SCHED_BUG(chan->sched_heap_idx != -1, chan)) {
+ if (!SCHED_BUG(readd_chan->sched_heap_idx != -1, readd_chan)) {
/* XXXX Note that the check above is in theory redundant with
* the smartlist_contains check. But let's make sure we're
* not messing anything up, and leave them both for now. */