[FFmpeg-cvslog] r26392 - trunk/libavformat/4xm.c
michael
subversion
Sun Jan 16 19:22:29 CET 2011
Author: michael
Date: Sun Jan 16 19:22:29 2011
New Revision: 26392
Log:
Check 4xm headers for validity. This should avoid 1/0.
Modified:
trunk/libavformat/4xm.c
Modified: trunk/libavformat/4xm.c
==============================================================================
--- trunk/libavformat/4xm.c Sun Jan 16 19:20:06 2011 (r26391)
+++ trunk/libavformat/4xm.c Sun Jan 16 19:22:29 2011 (r26392)
@@ -185,6 +185,13 @@ static int fourxm_read_header(AVFormatCo
fourxm->tracks[current_track].sample_rate = AV_RL32(&header[i + 40]);
fourxm->tracks[current_track].bits = AV_RL32(&header[i + 44]);
fourxm->tracks[current_track].audio_pts = 0;
+ if( fourxm->tracks[current_track].channels <= 0
+ || fourxm->tracks[current_track].sample_rate <= 0
+ || fourxm->tracks[current_track].bits < 0){
+ av_log(s, AV_LOG_ERROR, "audio header invalid\n");
+ ret= -1;
+ goto fail;
+ }
i += 8 + size;
/* allocate a new AVStream */
@@ -291,7 +298,7 @@ static int fourxm_read_packet(AVFormatCo
out_size= get_le32(pb);
size-=8;
- if (track_number < fourxm->track_count) {
+ if (track_number < fourxm->track_count && fourxm->tracks[track_number].channels>0) {
ret= av_get_packet(s->pb, pkt, size);
if(ret<0)
return AVERROR(EIO);
More information about the ffmpeg-cvslog
mailing list