32764144 Security Vulnerability - heap buffer overflow in libgiftranscode.so in colorMap->Colors[colorIndex] am: 6f763fef7a am: 9f00add2fb am: 71d4913462
am: 82fa311e9a
Change-Id: Ifd7c99312f526e379268f5f12a5ff61d95a90996
This commit is contained in:
@@ -384,6 +384,11 @@ bool GifTranscoder::renderImage(GifFileType* gifIn,
|
|||||||
for (int y = 0; y < gifIn->Image.Height; y++) {
|
for (int y = 0; y < gifIn->Image.Height; y++) {
|
||||||
for (int x = 0; x < gifIn->Image.Width; x++) {
|
for (int x = 0; x < gifIn->Image.Width; x++) {
|
||||||
GifByteType colorIndex = *getPixel(rasterBits, gifIn->Image.Width, x, y);
|
GifByteType colorIndex = *getPixel(rasterBits, gifIn->Image.Width, x, y);
|
||||||
|
if (colorIndex >= colorMap->ColorCount) {
|
||||||
|
LOGE("Color Index %d is out of bounds (count=%d)", colorIndex,
|
||||||
|
colorMap->ColorCount);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// This image may be smaller than the GIF's "logical screen"
|
// This image may be smaller than the GIF's "logical screen"
|
||||||
int renderX = x + gifIn->Image.Left;
|
int renderX = x + gifIn->Image.Left;
|
||||||
|
|||||||
Reference in New Issue
Block a user