From d1ed505b617f0157251bbff049cd89f3a936d44b Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 7 Jul 2023 13:34:38 +0100 Subject: [PATCH] rng ranges: Forbid use of panicky Rng::gen_range Fixes #920 --- clippy.toml | 1 + crates/tor-basic-utils/src/lib.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/clippy.toml b/clippy.toml index 37a70fb4a..c87a8b9d8 100644 --- a/clippy.toml +++ b/clippy.toml @@ -1,3 +1,4 @@ disallowed-methods = [ + { path = "rand::Rng::gen_range", reason = "Prefer tor_basic_utils::RngExt::gen_range_checked to avoid uncontrolled panics, or gen_range_infallible if applicable" }, # { path = "std::time::SystemTime::now", reason = "prefer using SleepProvider::wallclock instead when possible" }, ] diff --git a/crates/tor-basic-utils/src/lib.rs b/crates/tor-basic-utils/src/lib.rs index 80b6dafe0..aa9b08c7c 100644 --- a/crates/tor-basic-utils/src/lib.rs +++ b/crates/tor-basic-utils/src/lib.rs @@ -123,6 +123,7 @@ pub trait RngExt: Rng { if range.is_empty() { None } else { + #[allow(clippy::disallowed_methods)] Some(Rng::gen_range(self, range)) } }