1
0
mirror of https://github.com/SerenityOS/serenity synced 2024-07-09 15:07:16 +00:00

LibGfx/ILBM: Don't attempt to decode a BODY chunk without a color map

While this isn't disallowed by the specification, it is not something
we currently support. Instead of crashing we now return an error in
this case.
This commit is contained in:
Tim Ledbetter 2023-10-30 16:24:55 +00:00 committed by Andreas Kling
parent 75731f9c50
commit bed7b33daa

View File

@ -298,6 +298,9 @@ static ErrorOr<void> decode_iff_chunks(ILBMLoadingContext& context)
if (chunk.type == FourCC("CMAP")) {
context.color_table = TRY(decode_cmap_chunk(chunk));
} else if (chunk.type == FourCC("BODY")) {
if (context.color_table.is_empty())
return Error::from_string_literal("Decoding BODY chunk without a color map is not currently supported");
TRY(decode_body_chunk(chunk, context));
context.state = ILBMLoadingContext::State::BitmapDecoded;
} else if (chunk.type == FourCC("CRNG")) {