diff options
author | Marton Balint | 2018-06-12 23:42:16 +0200 |
---|---|---|
committer | Marton Balint | 2018-06-24 20:42:35 +0200 |
commit | 404dc6bab5cd1904daeb11affe3c67c02b8eec40 (patch) | |
tree | 4b1eccb6ac301bcf975a228d191e02df18971c26 /libavformat/mxfdec.c | |
parent | 865e0c2d66d954e14e4f7d5b9db8899b42a14867 (diff) |
avformat/mxfdec: avoid index_table->nb_ptses overflow in mxf_compute_ptses_fake_index
Signed-off-by: Marton Balint <cus@passwd.hu>
Diffstat (limited to 'libavformat/mxfdec.c')
-rw-r--r-- | libavformat/mxfdec.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c index fb400bf663..8c417aea26 100644 --- a/libavformat/mxfdec.c +++ b/libavformat/mxfdec.c @@ -1528,6 +1528,12 @@ static int mxf_compute_ptses_fake_index(MXFContext *mxf, MXFIndexTable *index_ta return 0; /* no TemporalOffsets */ } + if (s->index_duration > INT_MAX - index_table->nb_ptses) { + index_table->nb_ptses = 0; + av_log(mxf->fc, AV_LOG_ERROR, "ignoring IndexSID %d, duration is too large\n", s->index_sid); + return 0; + } + index_table->nb_ptses += s->index_duration; } |