Skip to content

Commit ebeace7

Browse files
committed
avoid ptr::write which might panic in debug mode
1 parent 5e06435 commit ebeace7

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/arm.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,11 +137,12 @@ pub unsafe extern "aapcs" fn __aeabi_memcpy(dest: *mut u8, src: *const u8, n: us
137137
pub unsafe extern "aapcs" fn __aeabi_memcpy4(dest: *mut u8, src: *const u8, mut n: usize) {
138138
use core::ptr;
139139

140+
// We are guaranteed 4-alignment, so accessing at u32 is okay.
140141
let mut dest = dest as *mut u32;
141142
let mut src = src as *mut u32;
142143

143144
while n >= 4 {
144-
ptr::write(dest, ptr::read(src));
145+
*dest = *src;
145146
dest = dest.offset(1);
146147
src = src.offset(1);
147148
n -= 4;
@@ -198,7 +199,7 @@ pub unsafe extern "aapcs" fn __aeabi_memset4(dest: *mut u8, mut n: usize, c: i32
198199
let c = (byte << 24) | (byte << 16) | (byte << 8) | byte;
199200

200201
while n >= 4 {
201-
ptr::write(dest, c);
202+
*dest = c;
202203
dest = dest.offset(1);
203204
n -= 4;
204205
}

0 commit comments

Comments
 (0)