Fix out of bounds memory read in GIFMovie.cpp
Test: TODO (to be separately uploaded to CTS)
When decoding a GIF image, do not attempt to copy an index if it is out
of range.
BUG:33897722
Change-Id: I8c8ca69b00bf1f655e62bbe1798b9a47bf6699be
(cherry picked from commit 16882f721279a82a1c860ac689ce570b16fe26a0)
diff --git a/src/images/SkMovie_gif.cpp b/src/images/SkMovie_gif.cpp
index 1031079..b4d73a9 100644
--- a/src/images/SkMovie_gif.cpp
+++ b/src/images/SkMovie_gif.cpp
@@ -122,7 +122,7 @@
int transparent, int width)
{
for (; width > 0; width--, src++, dst++) {
- if (*src != transparent) {
+ if (*src != transparent && *src < cmap->ColorCount) {
const GifColorType& col = cmap->Colors[*src];
*dst = SkPackARGB32(0xFF, col.Red, col.Green, col.Blue);
}