[FFmpeg-devel] [PATCH 4/4] avformat/oggenc: free buffered page lists while uninitializing the muxer
James Almer
jamrial at gmail.com
Mon Oct 21 23:37:29 EEST 2019
On 10/21/2019 5:34 AM, Andreas Rheinhardt wrote:
> James Almer:
>> If the trailer is never writen, there could be buffered pages that would leak.
>>
> Typo ("writen") in the commit message.
>
>> Signed-off-by: James Almer <jamrial at gmail.com>
>> ---
>> libavformat/oggenc.c | 8 ++++++++
>> 1 file changed, 8 insertions(+)
>>
>> diff --git a/libavformat/oggenc.c b/libavformat/oggenc.c
>> index 06021c4f4b..77aa2518dc 100644
>> --- a/libavformat/oggenc.c
>> +++ b/libavformat/oggenc.c
>> @@ -740,6 +740,8 @@ static int ogg_write_trailer(AVFormatContext *s)
>>
>> static void ogg_free(AVFormatContext *s)
>> {
>> + OGGContext *ogg = s->priv_data;
>> + OGGPageList *p = ogg->page_list;
>> int i;
>>
>> for (i = 0; i < s->nb_streams; i++) {
>> @@ -756,6 +758,12 @@ static void ogg_free(AVFormatContext *s)
>> av_freep(&oggstream->header[1]);
>> av_freep(&st->priv_data);
>> }
>> +
>> + while (p) {
>> + OGGPageList *next = p->next;
>> + av_free(p);
>> + p = next;
>> + }
>> }
>>
>> #if CONFIG_OGG_MUXER
>> You could also set ogg->page_list to NULL in order not to leave any
> dangling pointers behind.
>
> - Andreas
Changed, and patchset pushed. Thanks.
More information about the ffmpeg-devel
mailing list