Skip to content

Commit 845fac9

Browse files
authored
fix: remove OOB read from cache and unnecessary zeroing in perform_duplex (#33)
1 parent 514bb42 commit 845fac9

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

src/poseidon2.nr

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,9 @@ impl Poseidon2 {
2525

2626
fn perform_duplex(&mut self) {
2727
// add the cache into sponge state
28-
self.state[0] += self.cache[0] * (0 < self.cache_size) as Field;
29-
self.state[1] += self.cache[1] * (1 < self.cache_size) as Field;
30-
self.state[2] += self.cache[2] * (2 < self.cache_size) as Field;
31-
self.state[3] += self.cache[3] * (3 < self.cache_size) as Field;
28+
self.state[0] += self.cache[0];
29+
self.state[1] += self.cache[1];
30+
self.state[2] += self.cache[2];
3231
self.state = crate::poseidon2_permutation(self.state, 4);
3332
}
3433

0 commit comments

Comments
 (0)