|  | @@ -1252,6 +1252,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, | 
														
													
														
															
																|  |  | slice_height = AV_RL32(avpkt->data + buf_size - 8); |  |  | slice_height = AV_RL32(avpkt->data + buf_size - 8); | 
														
													
														
															
																|  |  | nb_slices = AV_RL32(avpkt->data + buf_size - 12); |  |  | nb_slices = AV_RL32(avpkt->data + buf_size - 12); | 
														
													
														
															
																|  |  | if (nb_slices * 8LL + slices_info_offset > buf_size - 16 || |  |  | if (nb_slices * 8LL + slices_info_offset > buf_size - 16 || | 
														
													
														
															
																|  |  |  |  |  | s->chroma_v_shift || | 
														
													
														
															
																|  |  | slice_height <= 0 || nb_slices * (uint64_t)slice_height > height) |  |  | slice_height <= 0 || nb_slices * (uint64_t)slice_height > height) | 
														
													
														
															
																|  |  | return AVERROR_INVALIDDATA; |  |  | return AVERROR_INVALIDDATA; | 
														
													
														
															
																|  |  | } else { |  |  | } else { | 
														
													
												
													
														
															
																|  | 
 |