mxfdec: replace x>>av_log2(sizeof(..)) by x/sizeof(..).
Also replace x>>av_log2(sizeof(..)) + 1 by x/sizeof(..). The +1 is probably meant to emulate av_log2_ceil(sizeof(..)) in cases where ".." is not a power of two.
This commit is contained in:
		@@ -700,7 +700,7 @@ static int mxf_read_index_entry_array(AVIOContext *pb, MXFIndexTableSegment *seg
 | 
				
			|||||||
        return 0;
 | 
					        return 0;
 | 
				
			||||||
    else if (segment->nb_index_entries < 0 ||
 | 
					    else if (segment->nb_index_entries < 0 ||
 | 
				
			||||||
             segment->nb_index_entries >
 | 
					             segment->nb_index_entries >
 | 
				
			||||||
             (INT_MAX >> av_log2(sizeof(*segment->stream_offset_entries))))
 | 
					             (INT_MAX / sizeof(*segment->stream_offset_entries)))
 | 
				
			||||||
        return AVERROR(ENOMEM);
 | 
					        return AVERROR(ENOMEM);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    length = avio_rb32(pb);
 | 
					    length = avio_rb32(pb);
 | 
				
			||||||
@@ -1084,7 +1084,7 @@ static int mxf_compute_ptses_fake_index(MXFContext *mxf, MXFIndexTable *index_ta
 | 
				
			|||||||
    if (index_table->nb_ptses <= 0)
 | 
					    if (index_table->nb_ptses <= 0)
 | 
				
			||||||
        return 0;
 | 
					        return 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (index_table->nb_ptses > INT_MAX >> av_log2(sizeof(AVIndexEntry)) + 1)
 | 
					    if (index_table->nb_ptses > INT_MAX / sizeof(AVIndexEntry))
 | 
				
			||||||
        return AVERROR(ENOMEM);
 | 
					        return AVERROR(ENOMEM);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    index_table->ptses      = av_mallocz(index_table->nb_ptses *
 | 
					    index_table->ptses      = av_mallocz(index_table->nb_ptses *
 | 
				
			||||||
@@ -1196,7 +1196,7 @@ static int mxf_compute_index_tables(MXFContext *mxf)
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (mxf->nb_index_tables > INT_MAX >> av_log2(sizeof(MXFIndexTable)) + 1 ||
 | 
					    if (mxf->nb_index_tables > INT_MAX / sizeof(MXFIndexTable) ||
 | 
				
			||||||
        !(mxf->index_tables = av_mallocz(mxf->nb_index_tables *
 | 
					        !(mxf->index_tables = av_mallocz(mxf->nb_index_tables *
 | 
				
			||||||
                                         sizeof(MXFIndexTable)))) {
 | 
					                                         sizeof(MXFIndexTable)))) {
 | 
				
			||||||
        av_log(mxf->fc, AV_LOG_ERROR, "failed to allocate index tables\n");
 | 
					        av_log(mxf->fc, AV_LOG_ERROR, "failed to allocate index tables\n");
 | 
				
			||||||
@@ -1218,7 +1218,7 @@ static int mxf_compute_index_tables(MXFContext *mxf)
 | 
				
			|||||||
        MXFIndexTable *t = &mxf->index_tables[j];
 | 
					        MXFIndexTable *t = &mxf->index_tables[j];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (t->nb_segments >
 | 
					        if (t->nb_segments >
 | 
				
			||||||
            (INT_MAX >> av_log2(sizeof(MXFIndexTableSegment *))) ||
 | 
					            (INT_MAX / sizeof(MXFIndexTableSegment *)) ||
 | 
				
			||||||
            !(t->segments = av_mallocz(t->nb_segments *
 | 
					            !(t->segments = av_mallocz(t->nb_segments *
 | 
				
			||||||
                                       sizeof(MXFIndexTableSegment*)))) {
 | 
					                                       sizeof(MXFIndexTableSegment*)))) {
 | 
				
			||||||
            av_log(mxf->fc, AV_LOG_ERROR, "failed to allocate IndexTableSegment"
 | 
					            av_log(mxf->fc, AV_LOG_ERROR, "failed to allocate IndexTableSegment"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user