various security fixes and precautionary checks
Originally committed as revision 3822 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
@@ -339,8 +339,13 @@ static inline int decode_mb(ASV1Context *a, DCTELEM block[6][64]){
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void encode_mb(ASV1Context *a, DCTELEM block[6][64]){
|
||||
static inline int encode_mb(ASV1Context *a, DCTELEM block[6][64]){
|
||||
int i;
|
||||
|
||||
if(a->pb.buf_end - a->pb.buf - (put_bits_count(&a->pb)>>3) < 30*16*16*3/2/8){
|
||||
av_log(a->avctx, AV_LOG_ERROR, "encoded frame too large\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(a->avctx->codec_id == CODEC_ID_ASV1){
|
||||
for(i=0; i<6; i++)
|
||||
@@ -349,6 +354,7 @@ static inline void encode_mb(ASV1Context *a, DCTELEM block[6][64]){
|
||||
for(i=0; i<6; i++)
|
||||
asv2_encode_block(a, block[i]);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void idct_put(ASV1Context *a, int mb_x, int mb_y){
|
||||
|
||||
Reference in New Issue
Block a user