Commit 37458d7e authored by Michael Niedermayer's avatar Michael Niedermayer

Make sure we dont read over the end.

Fixes issue1237.

Originally committed as revision 19322 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent edb501c4
...@@ -729,10 +729,17 @@ static void decode_422_bitstream(HYuvContext *s, int count){ ...@@ -729,10 +729,17 @@ static void decode_422_bitstream(HYuvContext *s, int count){
count/=2; count/=2;
if(count >= (s->gb.size_in_bits - get_bits_count(&s->gb))/(31*4)){
for(i=0; i<count && get_bits_count(&s->gb) < s->gb.size_in_bits; i++){
READ_2PIX(s->temp[0][2*i ], s->temp[1][i], 1);
READ_2PIX(s->temp[0][2*i+1], s->temp[2][i], 2);
}
}else{
for(i=0; i<count; i++){ for(i=0; i<count; i++){
READ_2PIX(s->temp[0][2*i ], s->temp[1][i], 1); READ_2PIX(s->temp[0][2*i ], s->temp[1][i], 1);
READ_2PIX(s->temp[0][2*i+1], s->temp[2][i], 2); READ_2PIX(s->temp[0][2*i+1], s->temp[2][i], 2);
} }
}
} }
static void decode_gray_bitstream(HYuvContext *s, int count){ static void decode_gray_bitstream(HYuvContext *s, int count){
...@@ -740,9 +747,15 @@ static void decode_gray_bitstream(HYuvContext *s, int count){ ...@@ -740,9 +747,15 @@ static void decode_gray_bitstream(HYuvContext *s, int count){
count/=2; count/=2;
if(count >= (s->gb.size_in_bits - get_bits_count(&s->gb))/(31*2)){
for(i=0; i<count && get_bits_count(&s->gb) < s->gb.size_in_bits; i++){
READ_2PIX(s->temp[0][2*i ], s->temp[0][2*i+1], 0);
}
}else{
for(i=0; i<count; i++){ for(i=0; i<count; i++){
READ_2PIX(s->temp[0][2*i ], s->temp[0][2*i+1], 0); READ_2PIX(s->temp[0][2*i ], s->temp[0][2*i+1], 0);
} }
}
} }
#if CONFIG_HUFFYUV_ENCODER || CONFIG_FFVHUFF_ENCODER #if CONFIG_HUFFYUV_ENCODER || CONFIG_FFVHUFF_ENCODER
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment