Skip to content

Commit 9431c2e

Browse files
authored
Merge pull request #2023 from Shourya742/2025-12-11-add-miri-workflow
Add miri workflow
2 parents ba59fae + 37d8b87 commit 9431c2e

File tree

4 files changed

+36
-3
lines changed

4 files changed

+36
-3
lines changed

.github/workflows/miri.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Miri
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
8+
jobs:
9+
miri-sv2:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- uses: actions/checkout@v4
14+
15+
- name: Install Rust nightly + Miri
16+
uses: dtolnay/rust-toolchain@nightly
17+
with:
18+
components: miri
19+
20+
- name: Miri setup
21+
run: cargo miri setup
22+
23+
- name: Run Miri for buffer-sv2
24+
run: cargo miri test -p buffer_sv2
25+
26+
- name: Run Miri for noise-sv2
27+
run: cargo miri test -p noise_sv2

sv2/buffer-sv2/src/buffer_pool/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ impl InnerMemory {
423423
shared_state: &mut SharedState,
424424
#[cfg(feature = "debug")] mode: u8,
425425
) -> Slice {
426-
let slice = &mut self.pool[self.raw_offset..self.raw_offset + self.raw_len];
426+
let offset = unsafe { self.pool.as_mut_ptr().add(self.raw_offset) };
427427

428428
let mut index: u8 = crate::slice::INGORE_INDEX;
429429

@@ -440,14 +440,14 @@ impl InnerMemory {
440440
shared_state.toogle(index);
441441
}
442442

443-
let offset = slice.as_mut_ptr();
443+
let len = self.raw_len;
444444

445445
self.raw_offset += self.raw_len;
446446
self.raw_len = 0;
447447

448448
Slice {
449449
offset,
450-
len: slice.len(),
450+
len,
451451
index,
452452
shared_state: shared_state.clone(),
453453
owned: None,

sv2/noise-sv2/src/handshake.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,7 @@ mod test {
476476

477477
#[test]
478478
#[cfg(feature = "std")]
479+
#[cfg_attr(miri, ignore)]
479480
fn test_ecdh() {
480481
let key_pair_1 = TestHandShake::generate_key();
481482
let key_pair_2 = TestHandShake::generate_key();
@@ -493,6 +494,7 @@ mod test {
493494
}
494495

495496
#[test]
497+
#[cfg_attr(miri, ignore)]
496498
fn test_ecdh_with_rng() {
497499
let key_pair_1 = TestHandShake::generate_key_with_rng(&mut rand::thread_rng());
498500
let key_pair_2 = TestHandShake::generate_key_with_rng(&mut rand::thread_rng());
@@ -534,6 +536,7 @@ mod test {
534536
}
535537

536538
#[quickcheck_macros::quickcheck]
539+
#[cfg_attr(miri, ignore)]
537540
fn test_ecdh_1(kp1: KeypairWrapper, kp2: KeypairWrapper) -> TestResult {
538541
let (kp1, kp2) = match (kp1.0, kp2.0) {
539542
(Some(kp1), Some(kp2)) => (kp1, kp2),

sv2/noise-sv2/src/test.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use crate::{handshake::HandshakeOp, initiator::Initiator, responder::Responder};
22

33
#[test]
44
#[cfg(feature = "std")]
5+
#[cfg_attr(miri, ignore)]
56
fn test_1() {
67
let key_pair = Responder::generate_key();
78

@@ -17,7 +18,9 @@ fn test_1() {
1718

1819
assert!(message == "ciao".as_bytes().to_vec());
1920
}
21+
2022
#[test]
23+
#[cfg_attr(miri, ignore)]
2124
fn test_1_with_rng() {
2225
let key_pair = Responder::generate_key_with_rng(&mut rand::thread_rng());
2326

0 commit comments

Comments
 (0)