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

mypopy at gmail.com mypopy at gmail.com
Mon Apr 8 04:09:42 EEST 2019


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.


More information about the ffmpeg-devel mailing list