From 80f857190c7de959543288f36965085b0b31cd6d Mon Sep 17 00:00:00 2001 From: Davide Bertola Date: Thu, 20 Jul 2023 18:47:03 +0200 Subject: [PATCH] mkv: skip invalid seek offset --- symphonia-format-mkv/src/demuxer.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/symphonia-format-mkv/src/demuxer.rs b/symphonia-format-mkv/src/demuxer.rs index ccbc7484..d4fda868 100644 --- a/symphonia-format-mkv/src/demuxer.rs +++ b/symphonia-format-mkv/src/demuxer.rs @@ -345,7 +345,14 @@ impl FormatReader for MkvReader { Some((_, etype)) => *etype, None => continue, }; - seek_positions.push((etype, segment_pos + element.position)); + let destination = match segment_pos.checked_add(element.position) { + Some(pos) => pos, + None => { + log::warn!("seek position overflow for {:?}", etype); + continue; + } + }; + seek_positions.push((etype, destination)); } } ElementType::Tracks => {