mirror of
				https://github.com/nyanmisaka/ffmpeg-rockchip.git
				synced 2025-10-31 20:42:49 +08:00 
			
		
		
		
	avcodec/vc1: Check for excessive resolution
Fixes: overflow in aspect ratio calculation Fixes: signed integer overflow: 393215 * 14594 cannot be represented in type 'int' Fixes: 15728/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WMV3IMAGE_fuzzer-5661588893204480 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
		| @@ -451,7 +451,11 @@ static int decode_sequence_header_adv(VC1Context *v, GetBitContext *gb) | |||||||
|             h = get_bits(gb, 8) + 1; |             h = get_bits(gb, 8) + 1; | ||||||
|             v->s.avctx->sample_aspect_ratio = (AVRational){w, h}; |             v->s.avctx->sample_aspect_ratio = (AVRational){w, h}; | ||||||
|         } else { |         } else { | ||||||
|             av_reduce(&v->s.avctx->sample_aspect_ratio.num, |             if (v->s.avctx->width  > v->max_coded_width || | ||||||
|  |                 v->s.avctx->height > v->max_coded_height) { | ||||||
|  |                 avpriv_request_sample(v->s.avctx, "Huge resolution"); | ||||||
|  |             } else | ||||||
|  |                 av_reduce(&v->s.avctx->sample_aspect_ratio.num, | ||||||
|                       &v->s.avctx->sample_aspect_ratio.den, |                       &v->s.avctx->sample_aspect_ratio.den, | ||||||
|                       v->s.avctx->height * w, |                       v->s.avctx->height * w, | ||||||
|                       v->s.avctx->width * h, |                       v->s.avctx->width * h, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Michael Niedermayer
					Michael Niedermayer