commit b054a6c6b9cdda5c35b905f98ff092f15d8b749d Author: Matt Traudt sirmatt@ksu.edu Date: Thu Feb 14 16:18:58 2019 -0500
kist: When readding chans, check correct chan's sched_heap_idx
Closes #29508
Signed-off-by: David Goulet dgoulet@torproject.org --- changes/bug29508 | 3 +++ src/core/or/scheduler_kist.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/changes/bug29508 b/changes/bug29508 new file mode 100644 index 000000000..ee728bbbc --- /dev/null +++ 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 index 34e567207..01be751ad 100644 --- 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. */