[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