vlc/vlc-3.0 | branch: master | Hugo Beauzée-Luyssen <[email protected]> | Fri May 
 3 22:42:34 2019 +0200| [cdc401914e800f708e4a1a7d76c781180999d6fd] | committer: 
Hugo Beauzée-Luyssen

mkv: Fix potential buffer overflow

https://hackerone.com/reports/503218

(cherry picked from commit af75fb6f24d74e51dbddeca5c6692404e7b25307)
Signed-off-by: Hugo Beauzée-Luyssen <[email protected]>

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=cdc401914e800f708e4a1a7d76c781180999d6fd
---

 modules/demux/mkv/matroska_segment_parse.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/modules/demux/mkv/matroska_segment_parse.cpp 
b/modules/demux/mkv/matroska_segment_parse.cpp
index 34864ae310..9a951211b3 100644
--- a/modules/demux/mkv/matroska_segment_parse.cpp
+++ b/modules/demux/mkv/matroska_segment_parse.cpp
@@ -1710,6 +1710,8 @@ bool matroska_segment_c::TrackInit( mkv_track_t * p_tk )
                 p_tk->fmt.audio.i_bitspersample = GetWLE( 
&p_wf->wBitsPerSample );
 
                 p_tk->fmt.i_extra            = GetWLE( &p_wf->cbSize );
+                if ( (size_t)p_tk->fmt.i_extra > p_tk->i_extra_data - sizeof( 
WAVEFORMATEX ) )
+                    p_tk->fmt.i_extra = 0;
                 if( p_tk->fmt.i_extra != 0 )
                 {
                     p_tk->fmt.p_extra = xmalloc( p_tk->fmt.i_extra );

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to