[FFmpeg-devel] [PATCH] libavcodec/png_parser.c: fix a use_of_uninitialized_value in target_dec_fuzzer.
James Almer
jamrial at gmail.com
Thu Jun 4 21:52:41 EEST 2020
On 6/4/2020 3:40 PM, Thierry Foucu wrote:
> target_dec_fuzzer is checking for the avpkt.data pointer but if the
> png parser cannot combine the frame, the poutbuf is not set and so, the
> avpkt.data is not initialized.
> ---
> libavcodec/png_parser.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/libavcodec/png_parser.c b/libavcodec/png_parser.c
> index 74f2964118..d1b2926154 100644
> --- a/libavcodec/png_parser.c
> +++ b/libavcodec/png_parser.c
> @@ -99,8 +99,11 @@ static int png_parse(AVCodecParserContext *s, AVCodecContext *avctx,
> }
>
> flush:
> - if (ff_combine_frame(&ppc->pc, next, &buf, &buf_size) < 0)
> + if (ff_combine_frame(&ppc->pc, next, &buf, &buf_size) < 0) {
> + *poutbuf = NULL;
> + *poutbuf_size = 0;
This is already set to 0 first thing in png_parse(), so i'd say we
should also set *poutbuf to NULL there instead.
And I see the BMP parser has the same issue, so it needs the same fix.
> return buf_size;
> + }
>
> ppc->chunk_pos = ppc->pc.frame_start_found = 0;
>
>
More information about the ffmpeg-devel
mailing list