diff --git a/libavformat/mov.c b/libavformat/mov.c index f78680a0e9..98eb5ccbd6 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -358,7 +358,7 @@ static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom) if (!key) return 0; - if (atom.size < 0) + if (atom.size < 0 || str_size >= INT_MAX/2) return AVERROR_INVALIDDATA; str_size = FFMIN3(sizeof(str)-1, str_size, atom.size);