vqf: Make sure the bitrate is in the valid range
Even if the sample rate is valid, an invalid bitrate could pass the mode combination test below. CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
		
							parent
							
								
									9277050e29
								
							
						
					
					
						commit
						68ff998128
					
				| @ -182,6 +182,13 @@ static int vqf_read_header(AVFormatContext *s) | |||||||
|         break; |         break; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     if (read_bitrate / st->codec->channels <  8 || | ||||||
|  |         read_bitrate / st->codec->channels > 48) { | ||||||
|  |         av_log(s, AV_LOG_ERROR, "Invalid bitrate per channel %d\n", | ||||||
|  |                read_bitrate / st->codec->channels); | ||||||
|  |         return AVERROR_INVALIDDATA; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     switch (((st->codec->sample_rate/1000) << 8) + |     switch (((st->codec->sample_rate/1000) << 8) + | ||||||
|             read_bitrate/st->codec->channels) { |             read_bitrate/st->codec->channels) { | ||||||
|     case (11<<8) + 8 : |     case (11<<8) + 8 : | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user