[vlc-commits] mkv: Added error diagnostic if i_track does not match seekpoint
Filip Roséen
git at videolan.org
Sat Mar 5 22:22:50 CET 2016
vlc | branch: master | Filip Roséen <filip at atch.se> | Fri Mar 4 17:04:16 2016 +0100| [7d32c880d5f8960942d2b97ff555031fdbc7e72d] | committer: Jean-Baptiste Kempf
mkv: Added error diagnostic if i_track does not match seekpoint
Added an if-check to make sure that we do not crash on the lines that
follow if we, for some reason, end up in a state where there is no
matching seekpoint for the specified `i_track`.
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7d32c880d5f8960942d2b97ff555031fdbc7e72d
---
modules/demux/mkv/matroska_segment.cpp | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/modules/demux/mkv/matroska_segment.cpp b/modules/demux/mkv/matroska_segment.cpp
index 5d7e3a8..c64fdbf 100644
--- a/modules/demux/mkv/matroska_segment.cpp
+++ b/modules/demux/mkv/matroska_segment.cpp
@@ -996,6 +996,11 @@ void matroska_segment_c::Seek( mtime_t i_mk_date, mtime_t i_mk_time_offset, int6
if (it->i_track == i_track)
break;
+ if (unlikely (it == spoints.end ()) ) {
+ msg_Err( &sys.demuxer, "Unable to locate seekpoint using i_track = %zu!", i_track);
+ return;
+ }
+
it->i_mk_date = i_mk_pts;
if( simpleblock )
it->i_seek_pos = simpleblock->GetElementPosition();
More information about the vlc-commits
mailing list