[FFmpeg-devel] [PATCH] avformat/rtmpproto: Don't free AVOpt-strings manually, fix crash

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Sat Mar 30 06:21:16 EET 2024


Andreas Rheinhardt:
> Besides being redundant, freeing manually is actually harmful here,
> as rtmp_close() may call gen_fcunpublish_stream() which dereferences
> rt->playpath.
> 
> Reported-by: Armin Hasitzka <armin at grabyo.com>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
>  libavformat/rtmpproto.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c
> index 4b01b67d28..b1d73b3d75 100644
> --- a/libavformat/rtmpproto.c
> +++ b/libavformat/rtmpproto.c
> @@ -2917,9 +2917,6 @@ reconnect:
>      return 0;
>  
>  fail:
> -    av_freep(&rt->playpath);
> -    av_freep(&rt->tcurl);
> -    av_freep(&rt->flashver);
>      av_dict_free(opts);
>      rtmp_close(s);
>      return ret;

I am pinging this and explicitly cc'ing Steven Liu, whose commit
991cf95fdeebc3af added the av_freeps to be removed above. Steven, did
you just feel that there was missing freeing code for the buffers above
or was there an actually confirmed memleak (there shouldn't be)?

- Andreas



More information about the ffmpeg-devel mailing list