mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 11:38:11 +00:00
LiGfx/ILBMLoader: Don't throw if malformed bitplane can be decoded
Some apps seem to generate malformed images that are accepted by most readers. We now only throw if malformed data would lead to a write outside the chunky buffer.
This commit is contained in:
parent
7e3249ad4c
commit
fc5b6e4dda
3 changed files with 18 additions and 1 deletions
|
@ -243,6 +243,17 @@ TEST_CASE(test_24bit)
|
|||
EXPECT_EQ(frame.image->get_pixel(158, 270), Gfx::Color(0xee, 0x3d, 0x3c, 255));
|
||||
}
|
||||
|
||||
TEST_CASE(test_brush_transparent_color)
|
||||
{
|
||||
auto file = MUST(Core::MappedFile::map(TEST_INPUT("ilbm/brush-transparent-color.iff"sv)));
|
||||
EXPECT(Gfx::ILBMImageDecoderPlugin::sniff(file->bytes()));
|
||||
auto plugin_decoder = TRY_OR_FAIL(Gfx::ILBMImageDecoderPlugin::create(file->bytes()));
|
||||
|
||||
auto frame = TRY_OR_FAIL(expect_single_frame_of_size(*plugin_decoder, { 266, 309 }));
|
||||
|
||||
EXPECT_EQ(frame.image->get_pixel(114, 103), Gfx::Color::NamedColor::Black);
|
||||
}
|
||||
|
||||
TEST_CASE(test_ilbm_malformed_header)
|
||||
{
|
||||
Array test_inputs = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue