History

avcodec/pngdec: fix possible race condition with APNG decoding

Fixes #9017

Paul B Mahol committed 5 years ago

Commit 63231fa1 parent bbf61831 file · +2 −2Browse files

Unified · Split

libavcodec/pngdec.c+2−2
@@ -711,13 +711,13 @@ static int decode_idat_chunk(AVCodecContext *avctx, PNGDecContext *s, · 710 unmodified lines
711711 s->bpp += byte_depth;
712712 }
713713
714− if ((ret = ff_thread_get_buffer(avctx, &s->picture, AV_GET_BUFFER_FLAG_REF)) < 0)
715− return ret;
716714 if (avctx->codec_id == AV_CODEC_ID_APNG && s->last_dispose_op != APNG_DISPOSE_OP_PREVIOUS) {
717715 ff_thread_release_buffer(avctx, &s->previous_picture);
718716 if ((ret = ff_thread_get_buffer(avctx, &s->previous_picture, AV_GET_BUFFER_FLAG_REF)) < 0)
719717 return ret;
720718 }
719+ if ((ret = ff_thread_get_buffer(avctx, &s->picture, AV_GET_BUFFER_FLAG_REF)) < 0)
720+ return ret;
721721 p->pict_type = AV_PICTURE_TYPE_I;
722722 p->key_frame = 1;
723723 p->interlaced_frame = !!s->interlace_type;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t