You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	ADTS: Increased protection against writing illegal/nonsense files.
Originally committed as revision 17859 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		| @@ -42,7 +42,7 @@ static int decode_extradata(AVFormatContext *s, ADTSContext *adts, uint8_t *buf, | ||||
|     adts->sample_rate_index = get_bits(&gb, 4); | ||||
|     adts->channel_conf = get_bits(&gb, 4); | ||||
|  | ||||
|     if (adts->objecttype > 3) { | ||||
|     if (adts->objecttype > 3U) { | ||||
|         av_log(s, AV_LOG_ERROR, "MPEG-4 AOT %d is not allowed in ADTS\n", adts->objecttype+1); | ||||
|         return -1; | ||||
|     } | ||||
| @@ -54,6 +54,18 @@ static int decode_extradata(AVFormatContext *s, ADTSContext *adts, uint8_t *buf, | ||||
|         ff_log_missing_feature(s, "PCE based channel configuration", 0); | ||||
|         return -1; | ||||
|     } | ||||
|     if (get_bits(&gb, 1)) { | ||||
|         av_log(s, AV_LOG_ERROR, "960/120 MDCT window is not allowed in ADTS\n"); | ||||
|         return -1; | ||||
|     } | ||||
|     if (get_bits(&gb, 1)) { | ||||
|         av_log(s, AV_LOG_ERROR, "Scalable configurations are not allowed in ADTS\n"); | ||||
|         return -1; | ||||
|     } | ||||
|     if (get_bits(&gb, 1)) { | ||||
|         ff_log_missing_feature(s, "Signaled SBR or PS", 0); | ||||
|         return -1; | ||||
|     } | ||||
|  | ||||
|     adts->write_adts = 1; | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user