From 359b3e0b84c9bfbe363fd61ee806860172f24e72 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 28 Oct 2023 22:31:38 +0200 Subject: [PATCH] Fix possible deference of invalid iterator (if _reel == _reels.end()). --- src/lib/dcp_decoder.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lib/dcp_decoder.cc b/src/lib/dcp_decoder.cc index c1f025d80..3a1871863 100644 --- a/src/lib/dcp_decoder.cc +++ b/src/lib/dcp_decoder.cc @@ -447,10 +447,12 @@ DCPDecoder::seek (ContentTime t, bool accurate) /* Pass texts in the pre-roll */ - auto const vfr = _dcp_content->active_video_frame_rate (film()); - for (int i = 0; i < pre_roll_seconds * vfr; ++i) { - pass_texts (pre, (*_reel)->main_picture()->asset()->size()); - pre += ContentTime::from_frames (1, vfr); + if (_reel != _reels.end()) { + auto const vfr = _dcp_content->active_video_frame_rate (film()); + for (int i = 0; i < pre_roll_seconds * vfr; ++i) { + pass_texts (pre, (*_reel)->main_picture()->asset()->size()); + pre += ContentTime::from_frames (1, vfr); + } } /* Seek to correct position */ -- 2.30.2