Skip to content

Commit 43aac14

Browse files
fix(rendy): unaligned pointer deref
Signed-off-by: Anhad Singh <[email protected]>
1 parent e23b1da commit 43aac14

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

src/aero_kernel/src/rendy.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -371,13 +371,9 @@ impl<'a> Inner<'a> {
371371
let mut img_x = ratio * xstart;
372372

373373
for x in xstart..xend {
374-
let img_pixel = unsafe {
375-
(image.image.as_ptr())
376-
.add(fixedp6_to_int(img_x) * col_size + off)
377-
.cast::<u32>()
378-
};
379-
380-
let i = blender(x, y, unsafe { *img_pixel });
374+
let offset = fixedp6_to_int(img_x) * col_size + off;
375+
let img_pixel: [u8; 4] = unsafe { *image.image.as_ptr().add(offset).cast() };
376+
let i = blender(x, y, u32::from_le_bytes(img_pixel));
381377

382378
unsafe {
383379
*self.buffer.as_mut_ptr().add(fb_off + x) = i as u32;

0 commit comments

Comments
 (0)