From e32b07aea4981719a3e6ce92491349c9547958e1 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 21 Jan 2015 16:53:14 +0100 Subject: [PATCH] avformat/mov: Stricter sanity checks on the display_matrix Fixes "broken" tkhd Found-by: koda Tested-by: koda Signed-off-by: Michael Niedermayer --- libavformat/mov.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index 556411f1ef..6851947f9a 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -2874,7 +2874,8 @@ static int mov_read_tkhd(MOVContext *c, AVIOContext *pb, MOVAtom atom) for (i = 0; i < 2; i++) disp_transform[i] = sqrt(SQR(display_matrix[i][0]) + SQR(display_matrix[i][1])); - if (disp_transform[0] > 0 && disp_transform[1] > 0 && + if (disp_transform[0] > 0 && disp_transform[1] > 0 && + disp_transform[0] < (1<<24) && disp_transform[1] < (1<<24) && fabs((disp_transform[0] / disp_transform[1]) - 1.0) > 0.01) st->sample_aspect_ratio = av_d2q( disp_transform[0] / disp_transform[1],