[FFmpeg-cvslog] avcodec/wavarc: properly handle invalid data

Paul B Mahol git at videolan.org
Tue Feb 7 18:14:01 EET 2023


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Tue Feb  7 16:26:14 2023 +0100| [5dba4b217c548524a93e306a3635d963ddd81c42] | committer: Paul B Mahol

avcodec/wavarc: properly handle invalid data

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5dba4b217c548524a93e306a3635d963ddd81c42
---

 libavcodec/wavarc.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/libavcodec/wavarc.c b/libavcodec/wavarc.c
index 956c52bfe9..6e0e66dcd8 100644
--- a/libavcodec/wavarc.c
+++ b/libavcodec/wavarc.c
@@ -371,7 +371,7 @@ static int wavarc_decode(AVCodecContext *avctx, AVFrame *frame,
     }
 
     if ((ret = init_get_bits8(gb, buf, buf_size)) < 0)
-        return ret;
+        goto fail;
     skip_bits(gb, s->skip);
 
     switch (avctx->codec_tag) {
@@ -397,12 +397,14 @@ static int wavarc_decode(AVCodecContext *avctx, AVFrame *frame,
 fail:
         s->bitstream_size = 0;
         s->bitstream_index = 0;
-        return ret;
+        if (ret == AVERROR_EOF)
+            return 0;
+        return AVERROR_INVALIDDATA;
     }
 
     frame->nb_samples = s->nb_samples;
     if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
-        return ret;
+        goto fail;
 
     switch (avctx->sample_fmt) {
     case AV_SAMPLE_FMT_U8P:



More information about the ffmpeg-cvslog mailing list