forked from FFmpeg/FFmpeg
westwood: Make sure audio header info is present when parsing audio packets
Audio header information might get scrambled and would not parse, yet wsqva_read_packet would try to parse audio packets causing segfaults such as floating point exception. Fixes bugzilla #141. Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
1b35af3225
commit
566ee0eaf1
1 changed files with 5 additions and 0 deletions
|
@ -326,6 +326,11 @@ static int wsvqa_read_packet(AVFormatContext *s,
|
|||
chunk_size = AV_RB32(&preamble[4]);
|
||||
skip_byte = chunk_size & 0x01;
|
||||
|
||||
if ((chunk_type == SND2_TAG || chunk_type == SND1_TAG) && wsvqa->audio_channels == 0) {
|
||||
av_log(s, AV_LOG_ERROR, "audio chunk without any audio header information found\n");
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
|
||||
if ((chunk_type == SND1_TAG) || (chunk_type == SND2_TAG) || (chunk_type == VQFR_TAG)) {
|
||||
|
||||
if (av_new_packet(pkt, chunk_size))
|
||||
|
|
Loading…
Add table
Reference in a new issue