[FFmpeg-cvslog] avformat/movenc: Check that pkt duration is within 32bit range

Michael Niedermayer git at videolan.org
Sat Jan 9 03:58:30 CET 2016


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Sat Jan  9 03:36:19 2016 +0100| [6e249466cc6bd5b17d6e8cbd9a84a636cc92fd60] | committer: Michael Niedermayer

avformat/movenc: Check that pkt duration is within 32bit range

Durations outside are not supported

Fixes Ticket5114
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6e249466cc6bd5b17d6e8cbd9a84a636cc92fd60
---

 libavformat/movenc.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 5594c6d..1aff5c5 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -4362,10 +4362,10 @@ int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt)
             pkt->dts = trk->cluster[trk->entry - 1].dts + 1;
             pkt->pts = AV_NOPTS_VALUE;
         }
-        if (pkt->duration < 0) {
-            av_log(s, AV_LOG_ERROR, "Application provided duration: %"PRId64" is invalid\n", pkt->duration);
-            return AVERROR(EINVAL);
-        }
+    }
+    if (pkt->duration < 0 || pkt->duration > INT_MAX) {
+        av_log(s, AV_LOG_ERROR, "Application provided duration: %"PRId64" is invalid\n", pkt->duration);
+        return AVERROR(EINVAL);
     }
     if (mov->flags & FF_MOV_FLAG_FRAGMENT) {
         int ret;



More information about the ffmpeg-cvslog mailing list