[FFmpeg-devel] [PATCH 1/2] avdevice/avfoundation: fix memleak

Thilo Borgmann thilo.borgmann at mail.de
Tue Feb 22 14:12:18 EET 2022


Am 19.02.22 um 09:45 schrieb "zhilizhao(赵志立)":
> 
> 
>> On Feb 8, 2022, at 9:05 PM, Andreas Rheinhardt <andreas.rheinhardt at outlook.com> wrote:
>>
>> Thilo Borgmann:
>>> Am 08.02.22 um 13:50 schrieb Andreas Rheinhardt:
>>>> Thilo Borgmann:
>>>>> Am 04.02.22 um 17:19 schrieb Zhao Zhili:
>>>>>> ---
>>>>>>     libavdevice/avfoundation.m | 10 ++++++----
>>>>>>     1 file changed, 6 insertions(+), 4 deletions(-)
>>>>>>
>>>>>> diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m
>>>>>> index 0cd6e646d5..2078c4879c 100644
>>>>>> --- a/libavdevice/avfoundation.m
>>>>>> +++ b/libavdevice/avfoundation.m
>>>>>> @@ -106,6 +106,7 @@ typedef struct
>>>>>>         int             audio_device_index;
>>>>>>         int             audio_stream_index;
>>>>>>     +    char            *url;
>>>>>>         char            *video_filename;
>>>>>>         char            *audio_filename;
>>>>>>     @@ -299,6 +300,7 @@ static void destroy_context(AVFContext* ctx)
>>>>>>         ctx->avf_delegate    = NULL;
>>>>>>         ctx->avf_audio_delegate = NULL;
>>>>>>     +    av_freep(&ctx->url);
>>>>>>         av_freep(&ctx->audio_buffer);
>>>>>
>>>>> Why carry it in the context instead of adding the missing av_freep() in
>>>>> parse_device_name() ?
>>>>>
>>>>
>>>> Because video_filename and audio_filename point into it.
>>>
>>> Wondering if we couldn't skip av_strdup() and operate on s->url directly
>>> then.
>>>
>>
>> This would trash s->url.
> 
> Ping. Can this patch set be applied?

Pushed, thanks!

-Thilo



More information about the ffmpeg-devel mailing list