From 79fda1a172eed2489c662bca9ec948d34063e324 Mon Sep 17 00:00:00 2001 From: mii Date: Wed, 5 Jul 2023 15:19:27 +0000 Subject: [PATCH] fix overflow --- src/rv.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/rv.rs b/src/rv.rs index 0f6b137..b1c9326 100644 --- a/src/rv.rs +++ b/src/rv.rs @@ -43,24 +43,24 @@ pub struct RV { } extern "C" fn rv_load_cb(user: *mut c_void, addr: u32, data: *mut u8) -> u32 { - if (addr - 0x80000000) > 0x10000 { + if (addr.wrapping_sub(0x80000000)) > 0x10000 { return RV_BAD; } unsafe { - *data = *(user.offset((addr - 0x80000000) as isize) as *mut u8); + *data = *(user.offset((addr.wrapping_sub(0x80000000)) as isize) as *mut u8); } RV_OK } extern "C" fn rv_store_cb(user: *mut c_void, addr: u32, data: u8) -> u32 { - if (addr - 0x80000000) > 0x10000 { + if (addr.wrapping_sub(0x80000000)) > 0x10000 { return RV_BAD; } unsafe { - *(user.offset((addr - 0x80000000) as isize) as *mut u8) = data; + *(user.offset((addr.wrapping_sub(0x80000000)) as isize) as *mut u8) = data; } RV_OK