aboutsummaryrefslogtreecommitdiff
path: root/src/test/test_channelpadding.c
diff options
context:
space:
mode:
authorTaylor Yu <catalyst@torproject.org>2017-05-10 13:57:18 -0400
committerTaylor Yu <catalyst@torproject.org>2017-05-10 13:57:18 -0400
commit2bf4263800f4ee14e2e4cd4015b2b6c46c25c845 (patch)
treed42b5aca6ee10482f8b270ba46fabf0d0f255db8 /src/test/test_channelpadding.c
parentee3ccd2facb2cfe863315f671c337eca72e6700c (diff)
downloadtor-2bf4263800f4ee14e2e4cd4015b2b6c46c25c845.tar.gz
tor-2bf4263800f4ee14e2e4cd4015b2b6c46c25c845.zip
Resurrect dead code in test_channelpadding.c
A for-loop in test_channelpadding_timers() would never run because it was trying to increment a counter up to CHANNELS_TO_TEST/3 after an earlier block already incremented it to CHANNELS_TO_TEST/2. Fixes #22221, CID 1405983.
Diffstat (limited to 'src/test/test_channelpadding.c')
-rw-r--r--src/test/test_channelpadding.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/test/test_channelpadding.c b/src/test/test_channelpadding.c
index ae6abe4bcd..0a70184f86 100644
--- a/src/test/test_channelpadding.c
+++ b/src/test/test_channelpadding.c
@@ -287,22 +287,22 @@ test_channelpadding_timers(void *arg)
tt_int_op(tried_to_write_cell, OP_EQ, 0);
}
- /* This loop should add timers to our existing lists in a weak
- * pseudorandom pattern. It ensures that the lists can grow with multiple
- * timers in them. */
- for (; i < CHANNELS_TO_TEST/2; i++) {
- chans[i]->next_padding_time_ms = monotime_coarse_absolute_msec() + 10 +
- i*3 % CHANNELPADDING_MAX_TIMERS;
+ /* This loop should add timers to the first position in the timerslot
+ * array, since its timeout is before all other timers. */
+ for (; i < CHANNELS_TO_TEST/3; i++) {
+ chans[i]->next_padding_time_ms = monotime_coarse_absolute_msec() + 1;
decision = channelpadding_decide_to_pad_channel(chans[i]);
tt_int_op(decision, OP_EQ, CHANNELPADDING_PADDING_SCHEDULED);
tt_assert(chans[i]->pending_padding_callback);
tt_int_op(tried_to_write_cell, OP_EQ, 0);
}
- /* This loop should add timers to the first position in the timerslot
- * array, since its timeout is before all other timers. */
- for (; i < CHANNELS_TO_TEST/3; i++) {
- chans[i]->next_padding_time_ms = monotime_coarse_absolute_msec() + 1;
+ /* This loop should add timers to our existing lists in a weak
+ * pseudorandom pattern. It ensures that the lists can grow with multiple
+ * timers in them. */
+ for (; i < CHANNELS_TO_TEST/2; i++) {
+ chans[i]->next_padding_time_ms = monotime_coarse_absolute_msec() + 10 +
+ i*3 % CHANNELPADDING_MAX_TIMERS;
decision = channelpadding_decide_to_pad_channel(chans[i]);
tt_int_op(decision, OP_EQ, CHANNELPADDING_PADDING_SCHEDULED);
tt_assert(chans[i]->pending_padding_callback);