| 
																	
																	
																		
																	
																	
																 | 
																@@ -52,6 +52,11 @@ static int rv30_parse_slice_header(RV34DecContext *r, GetBitContext *gb, SliceIn | 
															
														
														
													
														
															
																 | 
																 | 
																    si->pts = get_bits(gb, 13); | 
																 | 
																 | 
																    si->pts = get_bits(gb, 13); | 
															
														
														
													
														
															
																 | 
																 | 
																    rpr = get_bits(gb, av_log2(r->max_rpr) + 1); | 
																 | 
																 | 
																    rpr = get_bits(gb, av_log2(r->max_rpr) + 1); | 
															
														
														
													
														
															
																 | 
																 | 
																    if(rpr){ | 
																 | 
																 | 
																    if(rpr){ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        if (rpr > r->max_rpr) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            av_log(avctx, AV_LOG_ERROR, "rpr too large\n"); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            return AVERROR_INVALIDDATA; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        } | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																        if (avctx->extradata_size < rpr * 2 + 8) { | 
																 | 
																 | 
																        if (avctx->extradata_size < rpr * 2 + 8) { | 
															
														
														
													
														
															
																 | 
																 | 
																            av_log(avctx, AV_LOG_ERROR, | 
																 | 
																 | 
																            av_log(avctx, AV_LOG_ERROR, | 
															
														
														
													
														
															
																 | 
																 | 
																                   "Insufficient extradata - need at least %d bytes, got %d\n", | 
																 | 
																 | 
																                   "Insufficient extradata - need at least %d bytes, got %d\n", | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																	
																 | 
																
  |