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

Reply via email to