Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/flvdec.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c
index 2e70352c53..2d89bef15f 100644
--- a/libavformat/flvdec.c
+++ b/libavformat/flvdec.c
@@ -1015,7 +1015,13 @@ retry:
"Skipping flv packet: type %d, size %d, flags %d.\n",
type, size, flags);
skip:
- avio_seek(s->pb, next, SEEK_SET);
+ if (avio_seek(s->pb, next, SEEK_SET) != next) {
+ // This can happen if flv_read_metabody above read past
+ // next, on a non-seekable input, and the preceding data has
+ // been flushed out from the IO buffer.
+ av_log(s, AV_LOG_ERROR, "Unable to seek to the next packet\n");
+ return AVERROR_INVALIDDATA;
+ }
ret = FFERROR_REDO;
goto leave;
}