summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/vc1.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index 42bfca55b1..13119bd0b3 100644
--- a/libavcodec/vc1.c
+++ b/libavcodec/vc1.c
@@ -451,7 +451,11 @@ static int decode_sequence_header_adv(VC1Context *v, GetBitContext *gb)
h = get_bits(gb, 8) + 1;
v->s.avctx->sample_aspect_ratio = (AVRational){w, h};
} else {
- av_reduce(&v->s.avctx->sample_aspect_ratio.num,
+ if (v->s.avctx->width > v->max_coded_width ||
+ v->s.avctx->height > v->max_coded_height) {
+ avpriv_request_sample(v->s.avctx, "Huge resolution");
+ } else
+ av_reduce(&v->s.avctx->sample_aspect_ratio.num,
&v->s.avctx->sample_aspect_ratio.den,
v->s.avctx->height * w,
v->s.avctx->width * h,