[vlc-commits] demux:mkv: fix a possible infinite loop looking for a position if there's none

Steve Lhomme git at videolan.org
Fri Jan 19 16:20:58 CET 2018


vlc/vlc-3.0 | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Tue Jan  2 16:38:17 2018 +0100| [924abe77a42a6dfa5a73c30bfcebe3e8acabdbc7] | committer: Jean-Baptiste Kempf

demux:mkv: fix a possible infinite loop looking for a position if there's none

Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
(cherry picked from commit 5af8fa8ebfa31a8c10389f8d255c4eca5401d85c)
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=924abe77a42a6dfa5a73c30bfcebe3e8acabdbc7
---

 modules/demux/mkv/matroska_segment_seeker.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/modules/demux/mkv/matroska_segment_seeker.cpp b/modules/demux/mkv/matroska_segment_seeker.cpp
index 2887e45454..1b18b7a699 100644
--- a/modules/demux/mkv/matroska_segment_seeker.cpp
+++ b/modules/demux/mkv/matroska_segment_seeker.cpp
@@ -290,6 +290,9 @@ SegmentSeeker::get_seekpoints( matroska_segment_c& ms, mtime_t target_pts,
         Seekpoint const& start = seekpoints.first;
         Seekpoint const& end   = seekpoints.second;
 
+        if (start.fpos == std::numeric_limits<fptr_t>::max() )
+            return tracks_seekpoint_t();
+
         index_range( ms, Range( start.fpos, end.fpos ), needle_pts );
 
         {



More information about the vlc-commits mailing list