[FFmpeg-devel] [PATCH 1/3] avformat/swfdec: Fix memleaks on error
Andreas Rheinhardt
andreas.rheinhardt at gmail.com
Wed Sep 23 15:09:53 EEST 2020
Andreas Rheinhardt:
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
> ---
> libavformat/swfdec.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/libavformat/swfdec.c b/libavformat/swfdec.c
> index e427998744..7a74fa3ac7 100644
> --- a/libavformat/swfdec.c
> +++ b/libavformat/swfdec.c
> @@ -146,13 +146,18 @@ static int swf_read_header(AVFormatContext *s)
> swf->zbuf_out = av_malloc(ZBUF_SIZE);
> swf->zpb = avio_alloc_context(swf->zbuf_out, ZBUF_SIZE, 0, s,
> zlib_refill, NULL, NULL);
> - if (!swf->zbuf_in || !swf->zbuf_out || !swf->zpb)
> + if (!swf->zbuf_in || !swf->zbuf_out || !swf->zpb) {
> + av_freep(&swf->zbuf_in);
> + av_freep(&swf->zbuf_out);
> + avio_context_free(&swf->zpb);
> return AVERROR(ENOMEM);
> + }
> swf->zpb->seekable = 0;
> if (inflateInit(&swf->zstream) != Z_OK) {
> av_log(s, AV_LOG_ERROR, "Unable to init zlib context\n");
> av_freep(&swf->zbuf_in);
> av_freep(&swf->zbuf_out);
> + avio_context_free(&swf->zpb);
> return AVERROR(EINVAL);
> }
> pb = swf->zpb;
>
Will apply.
- Andreas
More information about the ffmpeg-devel
mailing list