diff --git a/bindings/rust/src/ffi.rs b/bindings/rust/src/ffi.rs index 1aea7c20..b1c04f57 100644 --- a/bindings/rust/src/ffi.rs +++ b/bindings/rust/src/ffi.rs @@ -199,7 +199,8 @@ pub extern "C" fn insn_in_hook_proxy( port: u32, size: usize, user_data: *mut UcHook, -) where +) -> u32 +where F: FnMut(&mut crate::Unicorn, u32, usize) -> u32, { let user_data = unsafe { &mut *user_data }; @@ -207,7 +208,7 @@ pub extern "C" fn insn_in_hook_proxy( inner: user_data.uc.upgrade().unwrap(), }; debug_assert_eq!(uc, user_data_uc.get_handle()); - (user_data.callback)(&mut user_data_uc, port, size); + (user_data.callback)(&mut user_data_uc, port, size) } pub extern "C" fn insn_invalid_hook_proxy(uc: uc_handle, user_data: *mut UcHook) -> bool