Bug 373794: bounds error with bad gif images, r=tor, sr=pavlov

This commit is contained in:
crowder%fiverocks.com 2007-03-22 16:59:45 +00:00
Родитель ae04db4f8d
Коммит 69edac8b9c
1 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -314,7 +314,7 @@ static int do_lzw(gif_struct *gs, const PRUint8 *q)
*stackp++ = suffix[code];
code = prefix[code];
if (stackp == stack + MAX_BITS)
if (stackp == stack + MAX_BITS || code >= MAX_BITS)
return -1;
}
@ -455,7 +455,7 @@ PRStatus gif_write(gif_struct *gs, const PRUint8 *buf, PRUint32 len)
{
/* Initialize LZW parser/decoder */
gs->datasize = *q;
if (gs->datasize > MAX_LZW_BITS) {
if (gs->datasize >= MAX_LZW_BITS) {
gs->state = gif_error;
break;
}