mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 05:33:47 +01:00
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.
This commit is contained in:
parent
ee3ccd2fac
commit
2bf4263800
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user