From 9dcedc184c2e17a0a7b3ebe7894c510de7ff9833 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Fri, 21 Jun 2024 13:40:37 +0200 Subject: [PATCH] Avoid assert on nonsense input MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes oss-fuzz 69439. Credit to OSS-Fuzz for finding the case. Change-Id: I5211900073377c7bdccb904dbc6ff172419e76f1 Reviewed-by: Laszlo Agocs Reviewed-by: Robert Löhning (cherry picked from commit 913cc91c0abb8087a85984930049f208965b05c9) Reviewed-by: Qt Cherry-pick Bot --- src/gui/painting/qicc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/painting/qicc.cpp b/src/gui/painting/qicc.cpp index 70bdf28b214..dd366ef0199 100644 --- a/src/gui/painting/qicc.cpp +++ b/src/gui/painting/qicc.cpp @@ -1935,7 +1935,7 @@ bool fromIccProfile(const QByteArray &data, QColorSpace *colorSpace) QColorSpacePrivate *colorspaceDPtr = QColorSpacePrivate::get(*colorSpace); colorspaceDPtr->isPcsLab = (header.pcs == uint(Tag::Lab_)); - if (tagIndex.contains(Tag::cicp)) { + if (tagIndex.contains(Tag::cicp) && header.inputColorSpace == uint(ColorSpaceType::Rgb)) { // Let cicp override nLut profiles if we fully recognize it. if (parseCicp(data, tagIndex[Tag::cicp], colorspaceDPtr)) threeComponentMatrix = true;