[FFmpeg-devel] [PATCH V2] lavf/matroskaenc: Fix memory leak after write trailer

mypopy at gmail.com mypopy at gmail.com
Tue Apr 9 04:21:16 EEST 2019


On Mon, Apr 8, 2019 at 3:29 PM mypopy at gmail.com <mypopy at gmail.com> wrote:
>
> On Mon, Apr 8, 2019 at 9:09 AM mypopy at gmail.com <mypopy at gmail.com> wrote:
> >
> >
> >
> > On Fri, Apr 5, 2019 at 12:38 AM Andreas Rheinhardt via ffmpeg-devel <ffmpeg-devel at ffmpeg.org> wrote:
> > >
> > > Jun Zhao:
> > > > From: Jun Zhao <barryjzhao at tencent.com>
> > > >
> > > > Fix memory leak after write trailer for #7827, only store a audio
> > > > packet whose buffer has size greater than zero in cur_audio_pkt.
> > > >
> > > > Thanks to Andreas Rheinhardt for the suggestions.
> > > >
> > > > Signed-off-by: Jun Zhao <barryjzhao at tencent.com>
> > > > ---
> > > >  libavformat/matroskaenc.c |    3 ++-
> > > >  1 files changed, 2 insertions(+), 1 deletions(-)
> > > >
> > > > diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
> > > > index b9f99c4..06f3aeb 100644
> > > > --- a/libavformat/matroskaenc.c
> > > > +++ b/libavformat/matroskaenc.c
> > > > @@ -2534,7 +2534,8 @@ static int mkv_write_packet(AVFormatContext *s, AVPacket *pkt)
> > > >      // buffer an audio packet to ensure the packet containing the video
> > > >      // keyframe's timecode is contained in the same cluster for WebM
> > > >      if (codec_type == AVMEDIA_TYPE_AUDIO) {
> > > > -        ret = av_packet_ref(&mkv->cur_audio_pkt, pkt);
> > > > +        if (pkt->size > 0)
> > > > +            ret = av_packet_ref(&mkv->cur_audio_pkt, pkt);
> > > >      } else
> > > >          ret = mkv_write_packet_internal(s, pkt, 0);
> > > >      return ret;
> > > >
> > > Seems that I took quite a lot of time to write my commit message. I
> > > don't care which patch gets committed, but I presume you did run
> > > valgrind to make sure that it actually fixes #7827?
> > >
> > > - Andreas
> > Yes, I've run the valgrind for muxing with FLAC and other audio codec for this issue.
>
> Will close the https://trac.ffmpeg.org/ticket/7827, Thanks

Pushed (updated the commit message from Andreas Rheinhardt's patch and
add Andreas Rheinhardt to Signed-off-by list). Thanks


More information about the ffmpeg-devel mailing list