shm: limit data accessed by ClientMemOffset
This commit is contained in:
parent
3f70242d32
commit
518095c7c2
7 changed files with 24 additions and 28 deletions
|
|
@ -147,7 +147,8 @@ impl WlBuffer {
|
|||
if required > mem.len() as u64 {
|
||||
return Err(WlBufferError::OutOfBounds);
|
||||
}
|
||||
let mem = Rc::new(mem.offset(offset));
|
||||
let size = bytes as usize;
|
||||
let mem = Rc::new(mem.offset(offset, size));
|
||||
let min_row_size = width as u64 * format.bpp as u64;
|
||||
if (stride as u64) < min_row_size {
|
||||
return Err(WlBufferError::StrideTooSmall);
|
||||
|
|
@ -155,7 +156,7 @@ impl WlBuffer {
|
|||
let udmabuf_impossible = !mem.pool().is_sealed_memfd();
|
||||
let dmabuf_buffer_params = match udmabuf {
|
||||
None => DmabufBufferParams {
|
||||
size: bytes as usize,
|
||||
size,
|
||||
udmabuf: None,
|
||||
udmabuf_offset: 0,
|
||||
udmabuf_size: 0,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue