Skip to content

Commit 7088b53

Browse files
committed
Fix: Avoid mutable aliasing in Framebuffer::buffer
1 parent 454f707 commit 7088b53

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

api/src/info.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,10 +178,14 @@ impl FrameBuffer {
178178

179179
/// Returns the raw bytes of the framebuffer as mutable slice.
180180
pub fn buffer_mut(&mut self) -> &mut [u8] {
181-
unsafe { self.create_buffer() }
181+
unsafe { self.create_buffer_mut() }
182+
}
183+
184+
unsafe fn create_buffer<'a>(&self) -> &'a [u8] {
185+
unsafe { slice::from_raw_parts(self.buffer_start as *const u8, self.buffer_byte_len) }
182186
}
183187

184-
unsafe fn create_buffer<'a>(&self) -> &'a mut [u8] {
188+
unsafe fn create_buffer_mut<'a>(&self) -> &'a mut [u8] {
185189
unsafe { slice::from_raw_parts_mut(self.buffer_start as *mut u8, self.buffer_byte_len) }
186190
}
187191

0 commit comments

Comments
 (0)