summaryrefslogtreecommitdiff
path: root/src/lib/dcp_decoder.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-10-28 22:31:38 +0200
committerCarl Hetherington <cth@carlh.net>2023-10-28 22:31:38 +0200
commit359b3e0b84c9bfbe363fd61ee806860172f24e72 (patch)
tree3865e81c8f3f0c011b18f362ae230d9bd4ecc2b3 /src/lib/dcp_decoder.cc
parent6ab77878f2bef6ece4da8be4307d4b05922e21d6 (diff)
Fix possible deference of invalid iterator (if _reel == _reels.end()).
Diffstat (limited to 'src/lib/dcp_decoder.cc')
-rw-r--r--src/lib/dcp_decoder.cc10
1 files 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 */