diff --git a/src/string/src/lib.rs b/src/string/src/lib.rs index 96688cac3c5641454144822c2a8e03e0f24d20b3..da667794b1c43494e766dafe6ec22212c12aa261 100644 --- a/src/string/src/lib.rs +++ b/src/string/src/lib.rs @@ -29,10 +29,10 @@ pub unsafe extern "C" fn memccpy( } let src = src as *mut u8; let dist = (to as usize) - (src as usize); - if memcpy(dest, src, dist) as usize > 0 { - return dest.offset(dist as isize + 1) as *mut c_void; + if memcpy(dest, src, dist).is_null() { + return ptr::null_mut(); } - ptr::null_mut() + dest.offset(dist as isize + 1) as *mut c_void } #[no_mangle]