r3d: Add more input value validation
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st> Conflicts: libavformat/r3d.c
This commit is contained in:
		
				
					committed by
					
						
						Luca Barbato
					
				
			
			
				
	
			
			
			
						parent
						
							98e1f0a2db
						
					
				
				
					commit
					99fe4c577f
				
			@@ -87,7 +87,7 @@ static int r3d_read_red1(AVFormatContext *s)
 | 
			
		||||
 | 
			
		||||
    framerate.num = avio_rb16(s->pb);
 | 
			
		||||
    framerate.den = avio_rb16(s->pb);
 | 
			
		||||
    if (framerate.num && framerate.den) {
 | 
			
		||||
    if (framerate.num > 0 && framerate.den > 0) {
 | 
			
		||||
#if FF_API_R_FRAME_RATE
 | 
			
		||||
        st->r_frame_rate =
 | 
			
		||||
#endif
 | 
			
		||||
@@ -286,6 +286,10 @@ static int r3d_read_reda(AVFormatContext *s, AVPacket *pkt, Atom *atom)
 | 
			
		||||
    dts = avio_rb32(s->pb);
 | 
			
		||||
 | 
			
		||||
    st->codec->sample_rate = avio_rb32(s->pb);
 | 
			
		||||
    if (st->codec->sample_rate <= 0) {
 | 
			
		||||
        av_log(s, AV_LOG_ERROR, "Bad sample rate\n");
 | 
			
		||||
        return AVERROR_INVALIDDATA;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    samples = avio_rb32(s->pb);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user