Quoting Paul B Mahol (2021-02-11 22:58:33) > Fixes #9017 > > Signed-off-by: Paul B Mahol <one...@gmail.com> > --- > libavcodec/pngdec.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c > index 395b86bbe7..61642b7cbe 100644 > --- a/libavcodec/pngdec.c > +++ b/libavcodec/pngdec.c > @@ -711,13 +711,13 @@ static int decode_idat_chunk(AVCodecContext *avctx, > PNGDecContext *s, > s->bpp += byte_depth; > } > > - if ((ret = ff_thread_get_buffer(avctx, &s->picture, > AV_GET_BUFFER_FLAG_REF)) < 0) > - return ret; > if (avctx->codec_id == AV_CODEC_ID_APNG && s->last_dispose_op != > APNG_DISPOSE_OP_PREVIOUS) { > ff_thread_release_buffer(avctx, &s->previous_picture); > if ((ret = ff_thread_get_buffer(avctx, &s->previous_picture, > AV_GET_BUFFER_FLAG_REF)) < 0) > return ret; > } > + if ((ret = ff_thread_get_buffer(avctx, &s->picture, > AV_GET_BUFFER_FLAG_REF)) < 0) > + return ret; > p->pict_type = AV_PICTURE_TYPE_I; > p->key_frame = 1; > p->interlaced_frame = !!s->interlace_type; > -- > 2.17.1
It's pretty non-obvious what the race is and how is it fixed by reordering the calls. -- Anton Khirnov _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".