avformat/matroskadec: Avoid clobbering CodecPrivate size
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
		
							parent
							
								
									007c22ce09
								
							
						
					
					
						commit
						d989785e47
					
				| @ -3036,15 +3036,14 @@ static int matroska_parse_tracks(AVFormatContext *s) | |||||||
| 
 | 
 | ||||||
|             track->codec_priv.size = 0; |             track->codec_priv.size = 0; | ||||||
|         } |         } | ||||||
|         track->codec_priv.size -= extradata_offset; |  | ||||||
| 
 | 
 | ||||||
|         if (par->codec_id == AV_CODEC_ID_NONE) |         if (par->codec_id == AV_CODEC_ID_NONE) | ||||||
|             av_log(matroska->ctx, AV_LOG_INFO, |             av_log(matroska->ctx, AV_LOG_INFO, | ||||||
|                    "Unknown/unsupported AVCodecID %s.\n", track->codec_id); |                    "Unknown/unsupported AVCodecID %s.\n", track->codec_id); | ||||||
| 
 | 
 | ||||||
|         if (!par->extradata && track->codec_priv.size > 0) { |         if (!par->extradata && track->codec_priv.size > extradata_offset) { | ||||||
|             const uint8_t *src = track->codec_priv.data + extradata_offset; |             const uint8_t *src = track->codec_priv.data + extradata_offset; | ||||||
|             unsigned extra_size = track->codec_priv.size; |             unsigned extra_size = track->codec_priv.size - extradata_offset; | ||||||
|             ret = ff_alloc_extradata(par, extra_size); |             ret = ff_alloc_extradata(par, extra_size); | ||||||
|             if (ret < 0) |             if (ret < 0) | ||||||
|                 return ret; |                 return ret; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user