X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fpngenc.c;h=4204df2a3016223915d8011c78db3b2237aefb59;hb=71199ee9077da7d92a8728e2a694fb1ab31488a7;hp=f6ad830cd9c019740b013768fea328e701fa9f33;hpb=5fa5e73e81f191be0c4761bb4c517fdd39aff82e;p=ffmpeg diff --git a/libavcodec/pngenc.c b/libavcodec/pngenc.c index f6ad830cd9c..4204df2a301 100644 --- a/libavcodec/pngenc.c +++ b/libavcodec/pngenc.c @@ -817,7 +817,7 @@ static int encode_apng(AVCodecContext *avctx, AVPacket *pkt, int ret; int enc_row_size; size_t max_packet_size; - APNGFctlChunk fctl_chunk; + APNGFctlChunk fctl_chunk = {0}; if (pict && avctx->codec_id == AV_CODEC_ID_APNG && s->color_type == PNG_COLOR_TYPE_PALETTE) { uint32_t checksum = ~av_crc(av_crc_get_table(AV_CRC_32_IEEE_LE), ~0U, pict->data[1], 256 * sizeof(uint32_t)); @@ -842,6 +842,9 @@ static int encode_apng(AVCodecContext *avctx, AVPacket *pkt, return AVERROR(ENOMEM); if (avctx->frame_number == 0) { + if (!pict) + return AVERROR(EINVAL); + s->bytestream = avctx->extradata = av_malloc(FF_MIN_BUFFER_SIZE); if (!avctx->extradata) return AVERROR(ENOMEM);