You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	avcodec/hevcdec: Check ref frame
Fixes: NULL pointer dereferences
Fixes: 68197/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HEVC_fuzzer-6382538823106560
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 5eb05f4450)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
			
			
This commit is contained in:
		| @@ -1961,13 +1961,13 @@ static void hls_prediction_unit(HEVCLocalContext *lc, int x0, int y0, | ||||
|  | ||||
|     if (current_mv.pred_flag & PF_L0) { | ||||
|         ref0 = refPicList[0].ref[current_mv.ref_idx[0]]; | ||||
|         if (!ref0 || !ref0->frame->data[0]) | ||||
|         if (!ref0 || !ref0->frame) | ||||
|             return; | ||||
|         hevc_await_progress(s, ref0, ¤t_mv.mv[0], y0, nPbH); | ||||
|     } | ||||
|     if (current_mv.pred_flag & PF_L1) { | ||||
|         ref1 = refPicList[1].ref[current_mv.ref_idx[1]]; | ||||
|         if (!ref1 || !ref1->frame->data[0]) | ||||
|         if (!ref1 || !ref1->frame) | ||||
|             return; | ||||
|         hevc_await_progress(s, ref1, ¤t_mv.mv[1], y0, nPbH); | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user