aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/utils.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-01-17 03:16:46 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-01-17 03:16:46 +0100
commit685321e4bd84fbe595cebc78cb92619e7df05a61 (patch)
treeb5338c112a1a76d8400a841e18d910614043bea2 /libavformat/utils.c
parent3f1a58db6f7a35a86190ff5897cb424b03a97870 (diff)
parentdd0c5e0fa909bac905ea8baa49b704892792a1c9 (diff)
downloadffmpeg-685321e4bd84fbe595cebc78cb92619e7df05a61.tar.gz
Merge remote-tracking branch 'qatar/release/0.7' into release/0.8
* qatar/release/0.7: h264: check ref_count validity for num_ref_idx_active_override_flag h264: check context state before decoding slice data partitions oggdec: free the ogg streams on read_header failure oggdec: check memory allocation Fix uninitialized reads on malformed ogg files. rtsp: Recheck the reordering queue if getting a new packet alacdec: do not be too strict about the extradata size h264: fix sps parsing for SVC and CAVLC 4:4:4 Intra profiles h264: check sps.log2_max_frame_num for validity ppc: always use pic for shared libraries h264: enable low delay only if no delayed frames were seen lavf: avoid integer overflow in ff_compute_frame_duration() Conflicts: libavformat/oggdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/utils.c')
-rw-r--r--libavformat/utils.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c
index daea00bcd6..9e6678f007 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -846,7 +846,10 @@ static void compute_frame_duration(int *pnum, int *pden, AVStream *st,
*pnum = st->codec->time_base.num;
*pden = st->codec->time_base.den;
if (pc && pc->repeat_pict) {
- *pnum = (*pnum) * (1 + pc->repeat_pict);
+ if (*pnum > INT_MAX / (1 + pc->repeat_pict))
+ *pden /= 1 + pc->repeat_pict;
+ else
+ *pnum *= 1 + pc->repeat_pict;
}
//If this codec can be interlaced or progressive then we need a parser to compute duration of a packet
//Thus if we have no parser in such case leave duration undefined.