aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcypherpunks <cypherpunks@torproject.org>2018-09-12 02:14:29 +0000
committercypherpunks <cypherpunks@torproject.org>2018-09-12 02:47:59 +0000
commit03c4d0ab9cfb60ba036bb8e5fe980a5bd2551f7d (patch)
treedc7f2b915a3687b0d209ada159fd62519472c09d
parentb88a2f28ae3845927021edb7ba87063bedf9bfa5 (diff)
downloadtor-03c4d0ab9cfb60ba036bb8e5fe980a5bd2551f7d.tar.gz
tor-03c4d0ab9cfb60ba036bb8e5fe980a5bd2551f7d.zip
rust/protover: fix check for overlapping ranges
Closes ticket 27649. Bugfix on e6625113c98c281b0a649598d7daa347c28915e9.
-rw-r--r--changes/bug276494
-rw-r--r--src/rust/protover/protoset.rs2
2 files changed, 5 insertions, 1 deletions
diff --git a/changes/bug27649 b/changes/bug27649
new file mode 100644
index 0000000000..6498e961e1
--- /dev/null
+++ b/changes/bug27649
@@ -0,0 +1,4 @@
+ o Minor bugfixes (rust):
+ - The protover rewrite in #24031 allowed repeated votes from the same
+ voter for the same protocol version to be counted multiple times in
+ protover_compute_vote(). Bugfix on 0.3.3.5-rc; fixes bug 27649.
diff --git a/src/rust/protover/protoset.rs b/src/rust/protover/protoset.rs
index 7e6f606a2f..b99e1a99f7 100644
--- a/src/rust/protover/protoset.rs
+++ b/src/rust/protover/protoset.rs
@@ -174,7 +174,7 @@ impl ProtoSet {
if low == u32::MAX || high == u32::MAX {
return Err(ProtoverError::ExceedsMax);
}
- if low < last_high {
+ if low <= last_high {
return Err(ProtoverError::Overlap);
} else if low > high {
return Err(ProtoverError::LowGreaterThanHigh);