From e1acc72d8b0db0962140c3ac5759432a0be520f5 Mon Sep 17 00:00:00 2001 From: sashass1315 Date: Fri, 27 Mar 2026 19:18:05 +0200 Subject: [PATCH] fix(slh-dsa): use checked_shl for idx_tree range in tests (#1224) --- slh-dsa/src/fors.rs | 6 ++++-- slh-dsa/src/hypertree.rs | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/slh-dsa/src/fors.rs b/slh-dsa/src/fors.rs index 0a65eb6..3085c4d 100644 --- a/slh-dsa/src/fors.rs +++ b/slh-dsa/src/fors.rs @@ -486,7 +486,8 @@ mod tests { let idx_tree = rng.random_range( 0..=(1u64 - .wrapping_shl(Fors::H::U32 - Fors::HPrime::U32) + .checked_shl(Fors::H::U32 - Fors::HPrime::U32) + .unwrap_or(0) .wrapping_sub(1)), ); let idx_leaf = rng.random_range(0..(1 << (Fors::HPrime::USIZE))); @@ -519,7 +520,8 @@ mod tests { let idx_tree = rng.random_range( 0..=(1u64 - .wrapping_shl(Fors::H::U32 - Fors::HPrime::U32) + .checked_shl(Fors::H::U32 - Fors::HPrime::U32) + .unwrap_or(0) .wrapping_sub(1)), ); let idx_leaf = rng.random_range(0..(1 << (Fors::HPrime::USIZE))); diff --git a/slh-dsa/src/hypertree.rs b/slh-dsa/src/hypertree.rs index 6e36cab..488f3cc 100644 --- a/slh-dsa/src/hypertree.rs +++ b/slh-dsa/src/hypertree.rs @@ -151,7 +151,8 @@ mod tests { let idx_tree = rng.random_range( 0..=(1u64 - .wrapping_shl(HTMode::H::U32 - HTMode::HPrime::U32) + .checked_shl(HTMode::H::U32 - HTMode::HPrime::U32) + .unwrap_or(0) .wrapping_sub(1)), ); let idx_leaf = rng.random_range(0..(1 << (HTMode::HPrime::USIZE))); @@ -181,7 +182,8 @@ mod tests { let idx_tree = rng.random_range( 0..=(1u64 - .wrapping_shl(HTMode::H::U32 - HTMode::HPrime::U32) + .checked_shl(HTMode::H::U32 - HTMode::HPrime::U32) + .unwrap_or(0) .wrapping_sub(1)), ); let idx_leaf = rng.random_range(0..(1 << (HTMode::HPrime::USIZE)));