From 5f90a012c488983fdf4b3f5f19d6652554448dc7 Mon Sep 17 00:00:00 2001 From: Shridhar Panigrahi Date: Wed, 11 Mar 2026 04:32:52 +0530 Subject: [PATCH 1/2] Fix hardcoded scalar size in Straus NAF computation The `add_scalar` method in `NafMatrix` hardcodes `x_u64[0..4]` when reading scalar bytes, which only works for 32-byte scalars. This panics for curves with different scalar sizes like P-384 or P-521. Use the actual scalar byte length instead. Signed-off-by: Shridhar Panigrahi --- generic-ec/src/multiscalar/straus.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generic-ec/src/multiscalar/straus.rs b/generic-ec/src/multiscalar/straus.rs index 569322f..381340d 100644 --- a/generic-ec/src/multiscalar/straus.rs +++ b/generic-ec/src/multiscalar/straus.rs @@ -186,7 +186,7 @@ impl NafMatrix { fn add_scalar(&mut self, scalar: &Scalar) { let scalar_bytes = scalar.to_le_bytes(); let mut x_u64 = vec![0u64; scalar_bytes.len() / 8 + 1]; - read_le_u64_into(&scalar_bytes, &mut x_u64[0..4]); + read_le_u64_into(&scalar_bytes, &mut x_u64[0..scalar_bytes.len() / 8]); let offset = self.matrix.len(); debug_assert!( From 3063e1401e4c6d009aada0b19c638be24c95bc75 Mon Sep 17 00:00:00 2001 From: Shridhar Panigrahi Date: Thu, 12 Mar 2026 15:17:00 +0530 Subject: [PATCH 2/2] Remove deprecated `doc_auto_cfg` feature The `doc_auto_cfg` feature was merged into `doc_cfg` in Rust 1.92.0 (see rust-lang/rust#138907), causing nightly rustdoc builds to fail with E0557. Remove it from the feature list. Signed-off-by: Shridhar Panigrahi --- generic-ec-curves/src/lib.rs | 2 +- generic-ec/src/lib.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/generic-ec-curves/src/lib.rs b/generic-ec-curves/src/lib.rs index e8beb40..a141b06 100644 --- a/generic-ec-curves/src/lib.rs +++ b/generic-ec-curves/src/lib.rs @@ -6,7 +6,7 @@ //! [`generic-ec` crate]: https://docs.rs/generic-ec #![cfg_attr(not(test), deny(clippy::unwrap_used, clippy::expect_used))] -#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] +#![cfg_attr(docsrs, feature(doc_cfg))] #![forbid(missing_docs)] #![no_std] diff --git a/generic-ec/src/lib.rs b/generic-ec/src/lib.rs index 4a9b7e4..6700d14 100644 --- a/generic-ec/src/lib.rs +++ b/generic-ec/src/lib.rs @@ -184,7 +184,7 @@ #![cfg_attr(not(test), forbid(unused_crate_dependencies))] #![cfg_attr(not(test), deny(clippy::unwrap_used, clippy::expect_used))] #![no_std] -#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] +#![cfg_attr(docsrs, feature(doc_cfg))] #[cfg(feature = "std")] extern crate std;