avformat/kvag: Check sample_rate
Fixes: Division by 0 Fixes: -copyts -start_at_zero -itsoffset 00:00:01 -itsscale 1 -ss 00:00:02 -i zgclab/ffmpeg_crash/poc1 output.mp4 Found-by: Wang Dawei and Zhou Geng, from Zhongguancun Laboratory Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit c26a762ea1bf028a33554a5f7a18d8dd7d82f5a8) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
		
							parent
							
								
									e806d36b38
								
							
						
					
					
						commit
						dba4b859d8
					
				@ -38,7 +38,7 @@
 | 
			
		||||
typedef struct KVAGHeader {
 | 
			
		||||
    uint32_t    magic;
 | 
			
		||||
    uint32_t    data_size;
 | 
			
		||||
    uint32_t    sample_rate;
 | 
			
		||||
    int    sample_rate;
 | 
			
		||||
    uint16_t    stereo;
 | 
			
		||||
} KVAGHeader;
 | 
			
		||||
 | 
			
		||||
@ -70,6 +70,9 @@ static int kvag_read_header(AVFormatContext *s)
 | 
			
		||||
    hdr.sample_rate             = AV_RL32(buf +  8);
 | 
			
		||||
    hdr.stereo                  = AV_RL16(buf + 12);
 | 
			
		||||
 | 
			
		||||
    if (hdr.sample_rate <= 0)
 | 
			
		||||
        return AVERROR_INVALIDDATA;
 | 
			
		||||
 | 
			
		||||
    par                         = st->codecpar;
 | 
			
		||||
    par->codec_type             = AVMEDIA_TYPE_AUDIO;
 | 
			
		||||
    par->codec_id               = AV_CODEC_ID_ADPCM_IMA_SSI;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user