mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-12-27 10:26:19 +03:00
comments
This commit is contained in:
parent
19ff42bd68
commit
088ce4df98
|
@ -140,7 +140,7 @@ ImagingFliDecode(Imaging im, ImagingCodecState state, UINT8* buf, Py_ssize_t byt
|
|||
break;
|
||||
case 12:
|
||||
/* FLI LC chunk (byte delta) */
|
||||
/* OOB Check ok, we have 10 bytes here */
|
||||
/* OOB Check ok, we have 4 bytes min here */
|
||||
y = I16(data); ymax = y + I16(data+2); data += 4;
|
||||
for (; y < ymax && y < state->ysize; y++) {
|
||||
UINT8* out = (UINT8*) im->image[y];
|
||||
|
@ -180,19 +180,17 @@ ImagingFliDecode(Imaging im, ImagingCodecState state, UINT8* buf, Py_ssize_t byt
|
|||
break;
|
||||
case 15:
|
||||
/* FLI BRUN chunk */
|
||||
/* data = ptr + 6 */
|
||||
/* OOB, ok, we've got 4 bytes min on entry */
|
||||
for (y = 0; y < state->ysize; y++) {
|
||||
UINT8* out = (UINT8*) im->image[y];
|
||||
data += 1; /* ignore packetcount byte */
|
||||
for (x = 0; x < state->xsize; x += i) {
|
||||
/* Out of Bounds Read issue, guaranteed to try to read 2 from data */
|
||||
ERR_IF_DATA_OOB(2)
|
||||
if (data[0] & 0x80) {
|
||||
i = 256 - data[0];
|
||||
if (x + i > state->xsize) {
|
||||
break; /* safety first */
|
||||
}
|
||||
/* Out of Bounds read issue */
|
||||
ERR_IF_DATA_OOB(i+1)
|
||||
memcpy(out + x, data + 1, i);
|
||||
data += i + 1;
|
||||
|
|
Loading…
Reference in New Issue
Block a user