[FFmpeg-devel] [PATCH] avformat/rtmpproto: Don't free AVOpt-strings manually, fix crash
Liu Steven
lq at chinaffmpeg.org
Sun Mar 31 05:16:20 EEST 2024
> On Mar 30, 2024, at 12:21, Andreas Rheinhardt <andreas.rheinhardt at outlook.com> wrote:
>
> Andreas Rheinhardt:
Hi Andreas,
>> 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)?
Confirmed memleak, but it’s long time i cannot sure how to reproduce that, I test rtmp those years use SRS.
Thanks
Steven
More information about the ffmpeg-devel
mailing list