diff options
Diffstat (limited to 'chromium/third_party/ffmpeg/libavformat/oggparseopus.c')
| -rw-r--r-- | chromium/third_party/ffmpeg/libavformat/oggparseopus.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/chromium/third_party/ffmpeg/libavformat/oggparseopus.c b/chromium/third_party/ffmpeg/libavformat/oggparseopus.c index c8b02fab4dd..584fff45389 100644 --- a/chromium/third_party/ffmpeg/libavformat/oggparseopus.c +++ b/chromium/third_party/ffmpeg/libavformat/oggparseopus.c @@ -117,6 +117,10 @@ static int opus_packet(AVFormatContext *avf, int idx) if (!os->psize) return AVERROR_INVALIDDATA; + if (os->granule > INT64_MAX - UINT32_MAX) { + av_log(avf, AV_LOG_ERROR, "Unsupported huge granule pos %"PRId64 "\n", os->granule); + return AVERROR_INVALIDDATA; + } if ((!os->lastpts || os->lastpts == AV_NOPTS_VALUE) && !(os->flags & OGG_FLAG_EOS)) { int seg, d; |
