mkv: Fix a bug where a pointer was cached to an array that might later move due to
a realloc()
BUG=100492
Review URL: http://codereview.chromium.org/8366004
Fixes: 1 of 2 for CVE-2011-3893
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f35e037c93)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
			
			
This commit is contained in:
		
				
					committed by
					
						
						Michael Niedermayer
					
				
			
			
				
	
			
			
			
						parent
						
							1bd1103175
						
					
				
				
					commit
					49b8709870
				
			@@ -1223,7 +1223,6 @@ static int matroska_parse_seekhead_entry(MatroskaDemuxContext *matroska, int idx
 | 
			
		||||
static void matroska_execute_seekhead(MatroskaDemuxContext *matroska)
 | 
			
		||||
{
 | 
			
		||||
    EbmlList *seekhead_list = &matroska->seekhead;
 | 
			
		||||
    MatroskaSeekhead *seekhead = seekhead_list->elem;
 | 
			
		||||
    int64_t before_pos = avio_tell(matroska->ctx->pb);
 | 
			
		||||
    int i;
 | 
			
		||||
 | 
			
		||||
@@ -1233,6 +1232,7 @@ static void matroska_execute_seekhead(MatroskaDemuxContext *matroska)
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
    for (i = 0; i < seekhead_list->nb_elem; i++) {
 | 
			
		||||
        MatroskaSeekhead *seekhead = seekhead_list->elem;
 | 
			
		||||
        if (seekhead[i].pos <= before_pos)
 | 
			
		||||
            continue;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user