Felix Paul Kühne pushed to branch master at VideoLAN / VLC
Commits:
107825b6 by unichronic at 2026-02-28T09:47:21+01:00
demux: mkv: fix NULL deference error with invalid header compression
- - - - -
2 changed files:
- modules/demux/mkv/matroska_segment_parse.cpp
- modules/demux/mkv/mkv.cpp
Changes:
=====================================
modules/demux/mkv/matroska_segment_parse.cpp
=====================================
@@ -1130,6 +1130,14 @@ void matroska_segment_c::ParseTrackEntry( const
KaxTrackEntry *m )
delete p_track;
return;
}
+ if( p_track->i_compression_type == MATROSKA_COMPRESSION_HEADER &&
+ p_track->p_compression_data == NULL )
+ {
+ msg_Err(&sys.demuxer, "Track %u header compression missing header
data", p_track->i_number );
+ delete p_track;
+ return;
+ }
+
if( !TrackInit( p_track ) )
{
msg_Err(&sys.demuxer, "Couldn't init track %u", p_track->i_number
);
=====================================
modules/demux/mkv/mkv.cpp
=====================================
@@ -601,7 +601,6 @@ static void BlockDecode( demux_t *p_demux, KaxBlock *block,
KaxSimpleBlock *simp
size_t extra_data = track.fmt.i_codec == VLC_CODEC_PRORES ? 8 : 0;
if( track.i_compression_type == MATROSKA_COMPRESSION_HEADER &&
- track.p_compression_data != NULL &&
track.i_encoding_scope & MATROSKA_ENCODING_SCOPE_ALL_FRAMES )
p_block = MemToBlock( data->Buffer(), data->Size(),
track.p_compression_data->GetSize() + extra_data );
else if( unlikely( track.fmt.i_codec == VLC_CODEC_WAVPACK ) )
View it on GitLab:
https://code.videolan.org/videolan/vlc/-/commit/107825b609fecdf2bf0e5fa8bbef066327f473e6
--
View it on GitLab:
https://code.videolan.org/videolan/vlc/-/commit/107825b609fecdf2bf0e5fa8bbef066327f473e6
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits