mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-14 07:03:44 +01:00
Fix a check, make a netflow padding function more safe.
Previously, `channelpadding_get_netflow_inactive_timeout_ms` would crash with an assertion failure if `low_timeout` was greater than `high_timeout`. That wasn't possible in practice because of checks in `channelpadding_update_padding_for_channel`, but it's better not to have a function whose correctness is this tricky to prove. Fixes #40645. Bugfix on 0.3.1.1-alpha.
This commit is contained in:
parent
8d8afc4efa
commit
8e7bd96362
5
changes/bug40645
Normal file
5
changes/bug40645
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
o Minor bugfixes (defense in depth):
|
||||||
|
- Change a test in the netflow padding code to make it more
|
||||||
|
_obviously_ safe against remotely triggered crashes.
|
||||||
|
(It was safe against these before, but not obviously so.)
|
||||||
|
Fixes bug 40645; bugfix on 0.3.1.1-alpha.
|
@ -186,7 +186,7 @@ channelpadding_get_netflow_inactive_timeout_ms(const channel_t *chan)
|
|||||||
high_timeout = MAX(high_timeout, chan->padding_timeout_high_ms);
|
high_timeout = MAX(high_timeout, chan->padding_timeout_high_ms);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (low_timeout == high_timeout)
|
if (low_timeout >= high_timeout)
|
||||||
return low_timeout; // No randomization
|
return low_timeout; // No randomization
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user