Message ID | 20220215095808.1672019-1-jiasheng@iscas.ac.cn |
---|---|
State | Accepted |
Commit | 656cb0450aeb73b25d7d26980af342b37ac4c568 |
Headers | show |
Series | [FFmpeg-devel] avcodec/vp3: Add missing check for av_malloc | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_aarch64_jetson | success | Make finished |
andriy/make_fate_aarch64_jetson | success | Make fate finished |
andriy/make_armv7_RPi4 | success | Make finished |
andriy/make_fate_armv7_RPi4 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
andriy/make_ppc | success | Make finished |
andriy/make_fate_ppc | success | Make fate finished |
On Tue, Feb 15, 2022 at 05:58:08PM +0800, Jiasheng Jiang wrote: > 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") > Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> > --- > libavcodec/vp3.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c > index e9ab54d736..e2418eb6fa 100644 > --- a/libavcodec/vp3.c > +++ b/libavcodec/vp3.c > @@ -2679,8 +2679,13 @@ static int vp3_decode_frame(AVCodecContext *avctx, > 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; > + } > + } > looks good to me. i will apply in couple of days. -- Peter (A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index e9ab54d736..e2418eb6fa 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -2679,8 +2679,13 @@ static int vp3_decode_frame(AVCodecContext *avctx, 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) {
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") Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> --- libavcodec/vp3.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)