Skip to content

Commit 2449fee

Browse files
committed
f - Fix divide by zero
1 parent be2f08a commit 2449fee

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

lightning/src/routing/scorer.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -170,8 +170,12 @@ impl routing::Score for Scorer {
170170

171171
#[cfg(not(feature = "no-std"))]
172172
fn decay_from(penalty_msat: u64, last_failure: &SystemTime, half_life: Duration) -> u64 {
173-
let decays = last_failure.elapsed().ok().map_or(0, |elapsed| {
174-
elapsed.as_secs() / half_life.as_secs()
175-
});
176-
penalty_msat >> decays
173+
let decays = match last_failure.elapsed().ok() {
174+
Some(elapsed) => elapsed.as_secs().checked_div(half_life.as_secs()),
175+
None => Some(0),
176+
};
177+
match decays {
178+
Some(decays) => penalty_msat >> decays,
179+
None => 0,
180+
}
177181
}

0 commit comments

Comments
 (0)