[FFmpeg-cvslog] movenc: Fix unfreed memory found by valgrind.

Reimar Döffinger Reimar.Doeffinger at gmx.de
Sun Aug 5 19:54:25 CEST 2012


On Sun, Aug 05, 2012 at 07:02:39PM +0200, Clément Bœsch wrote:
> On Sun, Aug 05, 2012 at 05:28:20PM +0200, Philip Langdale wrote:
> > ffmpeg | branch: master | Philip Langdale <philipl at overt.org> | Sun Aug  5 08:26:49 2012 -0700| [3eb56e8434e621273e16385fea4524516c95b6e6] | committer: Philip Langdale
> > 
> > movenc: Fix unfreed memory found by valgrind.
> > 
> > Signed-off-by: Philip Langdale <philipl at overt.org>
> > 
> > > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3eb56e8434e621273e16385fea4524516c95b6e6
> > ---
> > 
> >  libavformat/movenc.c |    3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/libavformat/movenc.c b/libavformat/movenc.c
> > index 1d24383..910b9d4 100644
> > --- a/libavformat/movenc.c
> > +++ b/libavformat/movenc.c
> > @@ -3154,11 +3154,12 @@ static int mov_write_subtitle_end_packet(AVFormatContext *s,
> >                                           int stream_index,
> >                                           int64_t dts) {
> >      AVPacket end;
> > +    short data = 0;
> >      int ret;
> >  
> >      av_init_packet(&end);
> >      end.size = sizeof (short);
> > -    end.data = av_mallocz(end.size);
> > +    end.data = (char *)&data;
> >      end.pts = dts;
> >      end.dts = dts;
> >      end.duration = 0;
> 
> Note: it might be wise to use uint16_t instead of short.

Why not use char data[2] = {0, 0}; and avoid the cast while at it?


More information about the ffmpeg-cvslog mailing list