diff mbox series

[FFmpeg-devel,3/6] avformat/westwood_vqa: Check ffio_ensure_seekback()

Message ID GV1P250MB0737FF36306555A94002192B8FEB2@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM
State Accepted
Commit 6dc8d4eea828c119c49b7b5742f7a6f9989b720b
Headers show
Series [FFmpeg-devel,1/6] avformat/oggdec: Check ffio_ensure_seekback() | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished

Commit Message

Andreas Rheinhardt May 22, 2024, 5:08 a.m. UTC
Fixes Coverity issue #1598405.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavformat/westwood_vqa.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/libavformat/westwood_vqa.c b/libavformat/westwood_vqa.c
index 3a31e3f5e8..9755fcc9c1 100644
--- a/libavformat/westwood_vqa.c
+++ b/libavformat/westwood_vqa.c
@@ -201,8 +201,10 @@  static int wsvqa_read_packet(AVFormatContext *s,
             /* We need a big seekback buffer because there can be SNxx, VIEW and ZBUF
              * chunks (<512 KiB total) in the stream before we read VQFR (<256 KiB) and
              * seek back here. */
-            ffio_ensure_seekback(pb, wsvqa->vqfl_chunk_size + (512 + 256) * 1024);
+            ret = ffio_ensure_seekback(pb, wsvqa->vqfl_chunk_size + (512 + 256) * 1024);
             avio_skip(pb, chunk_size + skip_byte);
+            if (ret < 0)
+                return ret;
             continue;
         } else if ((chunk_type == SND0_TAG) || (chunk_type == SND1_TAG) ||
             (chunk_type == SND2_TAG) || (chunk_type == VQFR_TAG)) {