[FFmpeg-devel] [PATCH 3/3] libavformat/lafdec: free data

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Tue Jan 31 13:25:25 EET 2023


Michael Niedermayer:
> Fixes: memleak
> 
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
>  libavformat/lafdec.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/libavformat/lafdec.c b/libavformat/lafdec.c
> index b78ec3649c..f6d2d5f235 100644
> --- a/libavformat/lafdec.c
> +++ b/libavformat/lafdec.c
> @@ -253,6 +253,15 @@ again:
>      return 0;
>  }
>  
> +static int laf_read_close(AVFormatContext *ctx)
> +{
> +    LAFContext *s = ctx->priv_data;
> +
> +    av_freep(&s->data);
> +
> +    return 0;
> +}
> +
>  static int laf_read_seek(AVFormatContext *ctx, int stream_index,
>                           int64_t timestamp, int flags)
>  {
> @@ -270,6 +279,7 @@ const AVInputFormat ff_laf_demuxer = {
>      .read_probe     = laf_probe,
>      .read_header    = laf_read_header,
>      .read_packet    = laf_read_packet,
> +    .read_close     = laf_read_close,
>      .read_seek      = laf_read_seek,
>      .extensions     = "laf",
>      .flags          = AVFMT_GENERIC_INDEX,

Needs the FF_FMT_INIT_CLEANUP flag, too (otherwise it will leak in case
of avformat_new_stream() failure).

- Andreas



More information about the ffmpeg-devel mailing list