Merge the 2021-09-05 SPL branch from AOSP-Partner
* security-aosp-pi-release:
Only treat PNG_COLOR_TYPE_RGB as 565
Change-Id: I205e28262c888b81014fb6f09097dbbf3b7e25f2
diff --git a/src/codec/SkPngCodec.cpp b/src/codec/SkPngCodec.cpp
index ebfe745..9646569 100644
--- a/src/codec/SkPngCodec.cpp
+++ b/src/codec/SkPngCodec.cpp
@@ -952,7 +952,7 @@
imageInfo = imageInfo.makeColorType(kAlpha_8_SkColorType);
}
}
- } else if (SkEncodedInfo::kOpaque_Alpha == alpha) {
+ } else if (encodedColorType == PNG_COLOR_TYPE_RGB) {
png_color_8p sigBits;
if (png_get_sBIT(fPng_ptr, fInfo_ptr, &sigBits)) {
if (5 == sigBits->red && 6 == sigBits->green && 5 == sigBits->blue) {
@@ -962,6 +962,18 @@
}
}
+#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
+ if (encodedColorType != PNG_COLOR_TYPE_GRAY_ALPHA
+ && SkEncodedInfo::kOpaque_Alpha == alpha) {
+ png_color_8p sigBits;
+ if (png_get_sBIT(fPng_ptr, fInfo_ptr, &sigBits)) {
+ if (5 == sigBits->red && 6 == sigBits->green && 5 == sigBits->blue) {
+ SkAndroidFrameworkUtils::SafetyNetLog("190188264");
+ }
+ }
+ }
+#endif // SK_BUILD_FOR_ANDROID_FRAMEWORK
+
if (1 == numberPasses) {
*fOutCodec = new SkPngNormalDecoder(encodedInfo, imageInfo,
std::unique_ptr<SkStream>(fStream), fChunkReader, fPng_ptr, fInfo_ptr, bitDepth);