mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
mov: Rework stsc index validation
In order to avoid potential integer overflow change the comparison and make sure to use the same unsigned type for both elements.
This commit is contained in:
parent
ce6d72d107
commit
53ea595eec
@ -111,7 +111,7 @@ typedef struct MOVStreamContext {
|
||||
MOVStts *ctts_data;
|
||||
unsigned int stsc_count;
|
||||
MOVStsc *stsc_data;
|
||||
int stsc_index;
|
||||
unsigned int stsc_index;
|
||||
int stsc_sample;
|
||||
unsigned int stps_count;
|
||||
unsigned *stps_data; ///< partial sync sample for mpeg-2 open gop
|
||||
|
@ -1983,13 +1983,13 @@ static int mov_read_stsc(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int mov_stsc_index_valid(int index, int count)
|
||||
static inline int mov_stsc_index_valid(unsigned int index, unsigned int count)
|
||||
{
|
||||
return index + 1 < count;
|
||||
return index < count - 1;
|
||||
}
|
||||
|
||||
/* Compute the samples value for the stsc entry at the given index. */
|
||||
static inline int mov_get_stsc_samples(MOVStreamContext *sc, int index)
|
||||
static inline int mov_get_stsc_samples(MOVStreamContext *sc, unsigned int index)
|
||||
{
|
||||
int chunk_count;
|
||||
|
||||
@ -3982,7 +3982,7 @@ static int mov_seek_stream(AVFormatContext *s, AVStream *st, int64_t timestamp,
|
||||
{
|
||||
MOVStreamContext *sc = st->priv_data;
|
||||
int sample, time_sample;
|
||||
int i;
|
||||
unsigned int i;
|
||||
|
||||
sample = av_index_search_timestamp(st, timestamp, flags);
|
||||
av_log(s, AV_LOG_TRACE, "stream %d, timestamp %"PRId64", sample %d\n", st->index, timestamp, sample);
|
||||
|
Loading…
Reference in New Issue
Block a user