diff --git a/Userland/Libraries/LibGfx/ImageFormats/PNGLoader.cpp b/Userland/Libraries/LibGfx/ImageFormats/PNGLoader.cpp index 039d944eab..3e546819ee 100644 --- a/Userland/Libraries/LibGfx/ImageFormats/PNGLoader.cpp +++ b/Userland/Libraries/LibGfx/ImageFormats/PNGLoader.cpp @@ -1104,8 +1104,11 @@ static ErrorOr process_gAMA(ReadonlyBytes data, PNGLoadingContext& context static ErrorOr process_sRGB(ReadonlyBytes data, PNGLoadingContext& context) { // https://www.w3.org/TR/png/#srgb-standard-colour-space - if (data.size() != 1) - return Error::from_string_literal("sRGB chunk has an abnormal size"); + if (data.size() != 1) { + // Invalid per spec, but (rarely) happens in the wild. Log and ignore. + warnln("warning: PNG sRGB chunk has an abnormal size; ignoring"); + return {}; + } u8 rendering_intent = data[0]; if (rendering_intent > 3)