You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	avcodec/cllc: Check num_bits
Fixes: runtime error: shift exponent -2 is negative
Fixes: 1479/clusterfuzz-testcase-minimized-6638493360979968
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 2bfd0a9758)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
			
			
This commit is contained in:
		| @@ -55,6 +55,13 @@ static int read_code_table(CLLCContext *ctx, GetBitContext *gb, VLC *vlc) | ||||
|  | ||||
|     num_lens = get_bits(gb, 5); | ||||
|  | ||||
|     if (num_lens > VLC_BITS * VLC_DEPTH) { | ||||
|         vlc->table = NULL; | ||||
|  | ||||
|         av_log(ctx->avctx, AV_LOG_ERROR, "To long VLCs %d\n", num_lens); | ||||
|         return AVERROR_INVALIDDATA; | ||||
|     } | ||||
|  | ||||
|     for (i = 0; i < num_lens; i++) { | ||||
|         num_codes      = get_bits(gb, 9); | ||||
|         num_codes_sum += num_codes; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user