Message ID | 20220207034453.734942-1-jiasheng@iscas.ac.cn |
---|---|
State | Accepted |
Commit | c4d63dbc9417ddf77f6e33f6144b23da7e97cb3b |
Headers | show |
Series | [FFmpeg-devel] avcodec/vp6: return value check for av_mallocz | expand |
Context | Check | Description |
---|---|---|
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 |
andriy/make_aarch64_jetson | success | Make finished |
andriy/make_fate_aarch64_jetson | success | Make fate finished |
On Mon, Feb 07, 2022 at 11:44:53AM +0800, Jiasheng Jiang wrote: > As the potential failure of the av_mallocz(), the 's->alpha_context' > could be NULL and be dereferenced later. > Therefore, it should be better to check it and deal with it if fails > in order to prevent memory leak, same as the av_frame_alloc() in > ff_vp56_init(). > > Fixes: 39a3894ad5 ("lavc/vp6: Implement "slice" threading for VP6A decode") > Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> > --- > libavcodec/vp6.c | 4 ++++ > 1 file changed, 4 insertions(+) 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/vp6.c b/libavcodec/vp6.c index d024370793..d75e717082 100644 --- a/libavcodec/vp6.c +++ b/libavcodec/vp6.c @@ -653,6 +653,10 @@ static av_cold int vp6_decode_init(AVCodecContext *avctx) if (s->has_alpha) { s->alpha_context = av_mallocz(sizeof(VP56Context)); + if (!s->alpha_context) { + ff_vp56_free(avctx); + return AVERROR(ENOMEM); + } ff_vp56_init_context(avctx, s->alpha_context, s->flip == -1, s->has_alpha); ff_vp6dsp_init(&s->alpha_context->vp56dsp);
As the potential failure of the av_mallocz(), the 's->alpha_context' could be NULL and be dereferenced later. Therefore, it should be better to check it and deal with it if fails in order to prevent memory leak, same as the av_frame_alloc() in ff_vp56_init(). Fixes: 39a3894ad5 ("lavc/vp6: Implement "slice" threading for VP6A decode") Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> --- libavcodec/vp6.c | 4 ++++ 1 file changed, 4 insertions(+)