arnaucube
arnaucube/poulpyPublic Self-hosted repository
fixed potential buffer overflow & added vec_znx_normalize_tmp_bytes
Jean-Philippe Bossuat jeanphilippe.bossuat@gmail.com
Tue, 25 Feb 2025 10:15:27 +0100
commit

95734b695c39bf8c3aa3636d009ddb51744ef191

parent

18ca4801ae888f933eecdb7ec1c272dbaedddaeb

2 files changed, 10 insertions(+), 0 deletions(-)

jump to
M base2k/src/vec_znx.rs → base2k/src/vec_znx.rs

@@ -469,6 +469,7 @@

pub trait VecZnxCommon: VecZnxApi + Infos {} pub trait VecZnxOps { + /// Allocates a new [VecZnx]. /// /// # Arguments

@@ -479,6 +480,8 @@

/// Returns the minimum number of bytes necessary to allocate /// a new [VecZnx] through [VecZnx::from_bytes]. fn bytes_of_vec_znx(&self, cols: usize) -> usize; + + fn vec_znx_normalize_tmp_bytes(&self) -> usize; /// c <- a + b. fn vec_znx_add<A: VecZnxCommon, B: VecZnxCommon, C: VecZnxCommon>(

@@ -555,6 +558,12 @@ }

fn bytes_of_vec_znx(&self, cols: usize) -> usize { self.n() * cols * 8 + } + + fn vec_znx_normalize_tmp_bytes(&self) -> usize{ + unsafe{ + vec_znx::vec_znx_normalize_tmp_bytes(self.0) as usize + } } // c <- a + b
M base2k/src/vmp.rs → base2k/src/vmp.rs

@@ -439,6 +439,7 @@ }

} fn vmp_prepare_row(&self, b: &mut VmpPMat, a: &[i64], row_i: usize, buf: &mut [u8]) { + debug_assert!(a.len() == b.cols() * self.n()); unsafe { vmp::vmp_prepare_row( self.0,