Skip to content
Snippets Groups Projects
Select Git revision
  • eb47927d3ccdf3b3f86c55c68a6d8a8c2ed628bc
  • master default protected
  • klee-args
  • stable
4 results

main.rs

Blame
  • Forked from Per Lindgren / cargo-klee
    Source project has a limited visibility.
    main.rs 379 B
    #![no_std]
    #![no_main]
    
    #[macro_use]
    extern crate klee;
    
    use core::ptr;
    
    struct A {
        a: u8,
        b: u32,
    }
    
    #[no_mangle]
    fn main() {
        let mut a = 0;
        ksymbol!(&mut a, "a");
        let mut u = A { a: a, b: 0 };
    
        unsafe {
            ptr::read_volatile(&f2(f1(u.a)));
        }
    }
    
    // add 1 wrapping
    fn f1(u: u8) -> u8 {
        u.wrapping_add(1)
    }
    
    fn f2(u: u8) -> u8 {
        100 / u
    }