[FFmpeg-cvslog] avformat_seek_file: Dont attempt to rescale INT64_MIN/MAX

Michael Niedermayer git at videolan.org
Thu Jan 3 00:08:20 CET 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Wed Jan  2 22:01:41 2013 +0100| [98db90589651474366a32e14e3ad062ef3ca6707] | committer: Michael Niedermayer

avformat_seek_file: Dont attempt to rescale INT64_MIN/MAX

This fixes a integer overflow in fate

Reviewed-by: Clément Bœsch <ubitux at gmail.com>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

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

diff --git a/libavformat/utils.c b/libavformat/utils.c
index cbf3263..096bb82 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2092,10 +2092,10 @@ int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts, int
             ts = av_rescale_q(ts, AV_TIME_BASE_Q, time_base);
             min_ts = av_rescale_rnd(min_ts, time_base.den,
                                     time_base.num * (int64_t)AV_TIME_BASE,
-                                    AV_ROUND_UP);
+                                    AV_ROUND_UP   | AV_ROUND_PASS_MINMAX);
             max_ts = av_rescale_rnd(max_ts, time_base.den,
                                     time_base.num * (int64_t)AV_TIME_BASE,
-                                    AV_ROUND_DOWN);
+                                    AV_ROUND_DOWN | AV_ROUND_PASS_MINMAX);
         }
 
         ret = s->iformat->read_seek2(s, stream_index, min_ts, ts, max_ts, flags);



More information about the ffmpeg-cvslog mailing list