diff options
author | Jiasheng Jiang <jiasheng@iscas.ac.cn> | 2022-02-15 17:58:08 +0800 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2023-04-07 23:40:48 +0200 |
commit | 4d82b7bac42c9d35d4f9f145a85e6cbc1fe914f2 (patch) | |
tree | 4c93779e67c13e0a5d6be2a65b6a72f17376473a | |
parent | c513bd48039a718dabf6d7a829efb6732693c04b (diff) | |
download | ffmpeg-4d82b7bac42c9d35d4f9f145a85e6cbc1fe914f2.tar.gz |
avcodec/vp3: Add missing check for av_malloc
Since the av_malloc() may fail and return NULL pointer,
it is needed that the 's->edge_emu_buffer' should be checked
whether the new allocation is success.
Fixes: d14723861b ("VP3: fix decoding of videos with stride > 2048")
Reviewed-by: Peter Ross <pross@xvid.org>
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
(cherry picked from commit 656cb0450aeb73b25d7d26980af342b37ac4c568)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavcodec/vp3.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index aa6d943822..90c889182c 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -2683,8 +2683,13 @@ static int vp3_decode_frame(AVCodecContext *avctx, if ((ret = ff_thread_get_buffer(avctx, &s->current_frame, AV_GET_BUFFER_FLAG_REF)) < 0) goto error; - if (!s->edge_emu_buffer) + if (!s->edge_emu_buffer) { s->edge_emu_buffer = av_malloc(9 * FFABS(s->current_frame.f->linesize[0])); + if (!s->edge_emu_buffer) { + ret = AVERROR(ENOMEM); + goto error; + } + } if (s->keyframe) { if (!s->theora) { |