maraiah: add extra integrity checks for pixmap areas
parent
fcf467210e
commit
e6bc793861
|
@ -1,6 +1,6 @@
|
|||
//! QuickDraw PICT indexed `PixMap`s.
|
||||
|
||||
use crate::{err::*, image::{*, pict::{pm, rle}}};
|
||||
use crate::{bin::check_data, err::*, image::{*, pict::{pm, rle}}};
|
||||
|
||||
/// Reads an indexed `PixMap`.
|
||||
pub fn read(mut im: Image8,
|
||||
|
@ -34,6 +34,8 @@ pub fn read(mut im: Image8,
|
|||
d
|
||||
};
|
||||
|
||||
check_data(&d, im.w())?;
|
||||
|
||||
p += pp;
|
||||
|
||||
for &idx in &d {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//! QuickDraw PICT R5G5B5 `PixMap`s.
|
||||
|
||||
use crate::{bin::u16b, err::*, image::{*, pict::{pm, rle}}};
|
||||
use crate::{bin::{check_data, u16b}, err::*, image::{*, pict::{pm, rle}}};
|
||||
|
||||
/// Reads a R5G5B5 `PixMap`.
|
||||
pub fn read(mut im: Image8,
|
||||
|
@ -26,6 +26,8 @@ pub fn read(mut im: Image8,
|
|||
for _ in 0..im.h() {
|
||||
let (d, pp) = rle::read::<u16>(&b[p..], hdr.pitch)?;
|
||||
|
||||
check_data(&d, im.w())?;
|
||||
|
||||
p += pp;
|
||||
|
||||
for &cr in &d {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//! QuickDraw PICT RGB8 `PixMap`s.
|
||||
|
||||
use crate::{err::*, image::{*, pict::{pm, rle}}};
|
||||
use crate::{bin::check_data, err::*, image::{*, pict::{pm, rle}}};
|
||||
|
||||
/// Reads a RGB8 `PixMap`.
|
||||
pub fn read(mut im: Image8,
|
||||
|
@ -41,6 +41,8 @@ pub fn read(mut im: Image8,
|
|||
for _ in 0..im.h() {
|
||||
let (d, pp) = rle::read::<u8>(&b[p..], pitch)?;
|
||||
|
||||
check_data(&d, im.w() * 3)?;
|
||||
|
||||
p += pp;
|
||||
|
||||
for x in 0..im.w() {
|
||||
|
|
Loading…
Reference in New Issue