mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
qtrle: add more checks against pixel_ptr being negative.
CC:libav-stable@libav.org
This commit is contained in:
parent
4f3b058c84
commit
e106592447
@ -117,6 +117,7 @@ static inline void qtrle_decode_2n4bpp(QtrleContext *s, int row_ptr,
|
||||
|
||||
while (lines_to_change--) {
|
||||
pixel_ptr = row_ptr + (num_pixels * (bytestream2_get_byte(&s->g) - 1));
|
||||
CHECK_PIXEL_PTR(0);
|
||||
|
||||
while ((rle_code = (signed char)bytestream2_get_byte(&s->g)) != -1) {
|
||||
if (rle_code == 0) {
|
||||
@ -171,6 +172,7 @@ static void qtrle_decode_8bpp(QtrleContext *s, int row_ptr, int lines_to_change)
|
||||
|
||||
while (lines_to_change--) {
|
||||
pixel_ptr = row_ptr + (4 * (bytestream2_get_byte(&s->g) - 1));
|
||||
CHECK_PIXEL_PTR(0);
|
||||
|
||||
while ((rle_code = (signed char)bytestream2_get_byte(&s->g)) != -1) {
|
||||
if (rle_code == 0) {
|
||||
@ -220,6 +222,7 @@ static void qtrle_decode_16bpp(QtrleContext *s, int row_ptr, int lines_to_change
|
||||
|
||||
while (lines_to_change--) {
|
||||
pixel_ptr = row_ptr + (bytestream2_get_byte(&s->g) - 1) * 2;
|
||||
CHECK_PIXEL_PTR(0);
|
||||
|
||||
while ((rle_code = (signed char)bytestream2_get_byte(&s->g)) != -1) {
|
||||
if (rle_code == 0) {
|
||||
@ -263,6 +266,7 @@ static void qtrle_decode_24bpp(QtrleContext *s, int row_ptr, int lines_to_change
|
||||
|
||||
while (lines_to_change--) {
|
||||
pixel_ptr = row_ptr + (bytestream2_get_byte(&s->g) - 1) * 3;
|
||||
CHECK_PIXEL_PTR(0);
|
||||
|
||||
while ((rle_code = (signed char)bytestream2_get_byte(&s->g)) != -1) {
|
||||
if (rle_code == 0) {
|
||||
@ -309,6 +313,7 @@ static void qtrle_decode_32bpp(QtrleContext *s, int row_ptr, int lines_to_change
|
||||
|
||||
while (lines_to_change--) {
|
||||
pixel_ptr = row_ptr + (bytestream2_get_byte(&s->g) - 1) * 4;
|
||||
CHECK_PIXEL_PTR(0);
|
||||
|
||||
while ((rle_code = (signed char)bytestream2_get_byte(&s->g)) != -1) {
|
||||
if (rle_code == 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user