diff --git a/bindings/rust/src/lib.rs b/bindings/rust/src/lib.rs index 7959e2d5..2aac940d 100644 --- a/bindings/rust/src/lib.rs +++ b/bindings/rust/src/lib.rs @@ -388,12 +388,18 @@ impl<'a, D> Unicorn<'a, D> { self.get_handle(), address, size, - ffi::mmio_read_callback_proxy:: as _, + match read_data { + Some(_) => ffi::mmio_read_callback_proxy:: as _, + None => ptr::null_mut(), + }, match read_data { Some(ref mut d) => d.as_mut() as *mut _ as _, None => ptr::null_mut(), }, - ffi::mmio_write_callback_proxy:: as _, + match write_data { + Some(_) => ffi::mmio_write_callback_proxy:: as _, + None => ptr::null_mut(), + }, match write_data { Some(ref mut d) => d.as_mut() as *mut _ as _, None => ptr::null_mut(),