Skip to content
Snippets Groups Projects
Select Git revision
  • bf56315d4ea8fe8c85cd26c2f5833c83f02a03bc
  • master default protected
2 results

ch1_00_introduction.md

Blame
  • 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
    }