From a11cc33695f3b4bc9f939e457bd3e5f16397968f Mon Sep 17 00:00:00 2001 From: Laurent Aimar Date: Sat, 28 Jun 2008 22:09:27 +0000 Subject: [PATCH] Fixed segfault on corrupted wav file. --- modules/demux/wav.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/demux/wav.c b/modules/demux/wav.c index e174ac4a5f..8380fab940 100644 --- a/modules/demux/wav.c +++ b/modules/demux/wav.c @@ -171,7 +171,8 @@ static int Open( vlc_object_t * p_this ) p_sys->fmt.audio.i_blockalign = GetWLE( &p_wf->nBlockAlign ); p_sys->fmt.i_bitrate = GetDWLE( &p_wf->nAvgBytesPerSec ) * 8; p_sys->fmt.audio.i_bitspersample = GetWLE( &p_wf->wBitsPerSample ); - p_sys->fmt.i_extra = GetWLE( &p_wf->cbSize ); + if( i_size >= sizeof(WAVEFORMATEX) ) + p_sys->fmt.i_extra = __MIN( GetWLE( &p_wf->cbSize ), i_size - sizeof(WAVEFORMATEX) ); i_extended = 0; /* Handle new WAVE_FORMAT_EXTENSIBLE wav files */ -- 2.39.2