Merge remote-tracking branch 'tor-github/pr/346' into maint-0.3.3

This commit is contained in:
Nick Mathewson
2018-10-30 09:33:36 -04:00
2 changed files with 9 additions and 9 deletions
+5
View File
@@ -0,0 +1,5 @@
o Minor bugfixes (rust, directory authority):
- Fix an API mismatch in the rust implementation of
protover_compute_vote(). This bug could have caused crashes on any
directory authorities running Tor with Rust (which we do not yet
recommend). Fixes bug 27741; bugfix on 0.3.3.6.
+4 -9
View File
@@ -204,8 +204,7 @@ pub extern "C" fn protover_get_supported_protocols() -> *const c_char {
#[no_mangle]
pub extern "C" fn protover_compute_vote(
list: *const Stringlist,
threshold: c_int,
allow_long_proto_names: bool,
threshold: c_int
) -> *mut c_char {
if list.is_null() {
@@ -220,13 +219,9 @@ pub extern "C" fn protover_compute_vote(
let mut proto_entries: Vec<UnvalidatedProtoEntry> = Vec::new();
for datum in data {
let entry: UnvalidatedProtoEntry = match allow_long_proto_names {
true => match UnvalidatedProtoEntry::from_str_any_len(datum.as_str()) {
Ok(n) => n,
Err(_) => continue},
false => match datum.parse() {
Ok(n) => n,
Err(_) => continue},
let entry: UnvalidatedProtoEntry = match datum.parse() {
Ok(n) => n,
Err(_) => continue
};
proto_entries.push(entry);
}