32322450 Security Vulnerability - heap buffer overflow in libgiftranscode.so
am: bcc1f62715
Change-Id: Ia790b66a2d7d26b53463ebb2ebae524a7b4155fc
diff --git a/jni/GifTranscoder.cpp b/jni/GifTranscoder.cpp
index 44fa30c..0d50770 100644
--- a/jni/GifTranscoder.cpp
+++ b/jni/GifTranscoder.cpp
@@ -274,6 +274,11 @@
// matches what libframesequence (Rastermill) does.
if (imageIndex == 0 && gifIn->SColorMap) {
if (gcb.TransparentColor == NO_TRANSPARENT_COLOR) {
+ if (gifIn->SBackGroundColor < 0 ||
+ gifIn->SBackGroundColor >= gifIn->SColorMap->ColorCount) {
+ LOGE("SBackGroundColor overflow");
+ return false;
+ }
GifColorType bgColorIndex =
gifIn->SColorMap->Colors[gifIn->SBackGroundColor];
bgColor = gifColorToColorARGB(bgColorIndex);