From 2dbc84b1a8d39e7fa0c7d66a120838fced35f5b4 Mon Sep 17 00:00:00 2001 From: Nicolas George Date: Wed, 12 Dec 2012 21:19:24 +0100 Subject: [PATCH] lavf/matroskaenc: check for overflow in display width. --- libavformat/matroskaenc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index adca74f111..c0c0a2d03e 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -637,7 +637,11 @@ static int mkv_write_tracks(AVFormatContext *s) } if (st->sample_aspect_ratio.num) { - int d_width = av_rescale(codec->width, st->sample_aspect_ratio.num, st->sample_aspect_ratio.den); + int64_t d_width = av_rescale(codec->width, st->sample_aspect_ratio.num, st->sample_aspect_ratio.den); + if (d_width > INT_MAX) { + av_log(s, AV_LOG_ERROR, "Overflow in display width\n"); + return AVERROR(EINVAL); + } put_ebml_uint(pb, MATROSKA_ID_VIDEODISPLAYWIDTH , d_width); put_ebml_uint(pb, MATROSKA_ID_VIDEODISPLAYHEIGHT, codec->height); }