[FFmpeg-devel] [PATCH v1] avcodec/dnxhdenc: return error if av_malloc failed
Limin Wang
lance.lmwang at gmail.com
Sun Sep 22 18:50:20 EEST 2019
On Sun, Sep 22, 2019 at 11:15:51AM -0300, James Almer wrote:
> On 9/22/2019 11:06 AM, lance.lmwang at gmail.com wrote:
> > From: Limin Wang <lance.lmwang at gmail.com>
> >
> > Signed-off-by: Limin Wang <lance.lmwang at gmail.com>
> > ---
> > libavcodec/dnxhdenc.c | 5 ++++-
> > 1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/libavcodec/dnxhdenc.c b/libavcodec/dnxhdenc.c
> > index 41b8079..f144406 100644
> > --- a/libavcodec/dnxhdenc.c
> > +++ b/libavcodec/dnxhdenc.c
> > @@ -365,7 +365,7 @@ fail:
> > static av_cold int dnxhd_encode_init(AVCodecContext *avctx)
> > {
> > DNXHDEncContext *ctx = avctx->priv_data;
> > - int i, index, ret;
> > + int i = 1, index, ret;
> >
> > switch (avctx->pix_fmt) {
> > case AV_PIX_FMT_YUV422P:
> > @@ -542,12 +542,15 @@ FF_ENABLE_DEPRECATION_WARNINGS
> > if (avctx->active_thread_type == FF_THREAD_SLICE) {
> > for (i = 1; i < avctx->thread_count; i++) {
> > ctx->thread[i] = av_malloc(sizeof(DNXHDEncContext));
> > + if(!ctx->thread[i])
> > + goto fail;
> > memcpy(ctx->thread[i], ctx, sizeof(DNXHDEncContext));
> > }
> > }
> >
> > return 0;
> > fail: // for FF_ALLOCZ_OR_GOTO
> > + avctx->thread_count = i;
>
> This is unnecessary. All ctx->thread[] array elements are zero
> initialized, so the av_freep() calls in dnxhd_encode_end() are safe for
> those that were never allocated.
After more review for the code, I think it's unneed to define the thread[i]
totally by my study for the thread code. I have post the update patch,
please point out if I'm misunderstand as I'm lacking the background for
it.
>
> > return AVERROR(ENOMEM);
> > }
> >
> >
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list