fix: panic at get_locator (#1711)

This commit is contained in:
Gary Yu 2018-10-10 16:48:41 +08:00 committed by GitHub
parent 0a96949fd6
commit 009baa1b91
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -240,15 +240,16 @@ impl HeaderSync {
let shrink_index = self
.history_locators
.iter()
.position(|&r| r.0 > shrink_height)
.unwrap();
if shrink_index > 100 {
// shrink but avoid trivial shrinking
let mut shrunk = self.history_locators[shrink_index..].to_vec();
shrunk_size = shrink_index;
self.history_locators.clear();
self.history_locators.push((0, locator[locator.len() - 1]));
self.history_locators.append(&mut shrunk);
.position(|&r| r.0 > shrink_height);
if let Some(shrink_index) = shrink_index {
if shrink_index > 100 {
// shrink but avoid trivial shrinking
let mut shrunk = self.history_locators[shrink_index..].to_vec();
shrunk_size = shrink_index;
self.history_locators.clear();
self.history_locators.push((0, locator[locator.len() - 1]));
self.history_locators.append(&mut shrunk);
}
}
debug!(
LOGGER,