diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-09-04 00:58:16 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-09-04 01:45:13 +0200 |
commit | e5c338ba7abd086b54021da885dc3b451927f4d5 (patch) | |
tree | 9ad27a562911aac7953135aa42cba83fd1156c2f | |
parent | a66099192159d02b1a1c1820ddb24c7cea271a44 (diff) | |
download | ffmpeg-e5c338ba7abd086b54021da885dc3b451927f4d5.tar.gz |
avformat/utils: assert position monotonicity in ff_find_last_ts()
This ensures that no read timestamp functions finds packets before the search window in ff_find_last_ts()
which could cause an infinite loop
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavformat/utils.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c index 277b559a76..763588b204 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -1779,6 +1779,7 @@ int ff_find_last_ts(AVFormatContext *s, int stream_index, int64_t *ts, int64_t * int64_t tmp_ts = ff_read_timestamp(s, stream_index, &tmp_pos, INT64_MAX, read_timestamp); if(tmp_ts == AV_NOPTS_VALUE) break; + av_assert0(tmp_pos > pos_max); ts_max = tmp_ts; pos_max = tmp_pos; if(tmp_pos >= filesize) |