LibGfx: Let the PNG decoder fail if the header is missing or too short

This commit is contained in:
Andreas Kling 2020-04-19 17:48:43 +02:00
parent 992467cca3
commit 4393a2a96d
Notes: sideshowbarker 2024-07-19 07:27:48 +09:00

View file

@ -419,6 +419,12 @@ static bool decode_png_header(PNGLoadingContext& context)
if (context.state >= PNGLoadingContext::HeaderDecoded)
return true;
if (!context.data || context.data_size < sizeof(png_header)) {
dbg() << "Missing PNG header";
context.state = PNGLoadingContext::State::Error;
return false;
}
if (memcmp(context.data, png_header, sizeof(png_header)) != 0) {
dbg() << "Invalid PNG header";
context.state = PNGLoadingContext::State::Error;