diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c index db06acd748..621627ddc5 100644 --- a/libavcodec/vp9.c +++ b/libavcodec/vp9.c @@ -1293,17 +1293,13 @@ static int decode_tiles(AVCodecContext *avctx, data += 4; size -= 4; } - if (tile_size > size) { - ff_thread_report_progress(&s->s.frames[CUR_FRAME].tf, INT_MAX, 0); + if (tile_size > size) return AVERROR_INVALIDDATA; - } ret = ff_vpx_init_range_decoder(&td->c_b[tile_col], data, tile_size); if (ret < 0) return ret; - if (vpx_rac_get_prob_branchy(&td->c_b[tile_col], 128)) { // marker bit - ff_thread_report_progress(&s->s.frames[CUR_FRAME].tf, INT_MAX, 0); + if (vpx_rac_get_prob_branchy(&td->c_b[tile_col], 128)) // marker bit return AVERROR_INVALIDDATA; - } data += tile_size; size -= tile_size; }