[FFmpeg-devel] [PATCH] avformat/hlsenc: ffio_free_dyn_buf the oc->pb at hls_write_trailer

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Wed Sep 11 15:50:00 EEST 2019


Steven Liu:
> fix memleak at hls_write_trailer
> 
> Found-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
> Signed-off-by: Steven Liu <lq at chinaffmpeg.org>
> ---
>  libavformat/hlsenc.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
> index f881bb9d60..218bfb2cba 100644
> --- a/libavformat/hlsenc.c
> +++ b/libavformat/hlsenc.c
> @@ -2641,6 +2641,7 @@ failed:
>              ff_format_io_close(s, &vs->out);
>              hls_window(s, 1, vs);
>          }
> +        ffio_free_dyn_buf(&oc->pb);
>          avformat_free_context(oc);
>  
>          vs->avf = NULL;
> 
This patch fixes the memleaks I reported. I don't know if anything
ever gets written in av_write_trailer(oc); if yes, it will be
discarded and not output. But if you are ok with this (or know for
sure that it won't happen), it's fine.
There are other memleaks, though: A big one when using HLS_SINGLE_FILE
(more on this in another mail) and then there are three places in
hls_write_trailer where you simply return AVERROR(ENOMEM) when there
is not enough memory available for another string. This guarantees leaks.

- Andreas


More information about the ffmpeg-devel mailing list