[FFmpeg-devel] [PATCH] hevc: Fix memory leak related to a53_caption data

Michael Niedermayer michael at niedermayer.cc
Fri Apr 8 21:48:50 CEST 2016


On Fri, Apr 08, 2016 at 02:35:09PM -0500, Will Kelleher wrote:
> On 04/08, Michael Niedermayer wrote:
> > On Fri, Apr 08, 2016 at 10:05:13AM -0500, Will Kelleher wrote:
> > > Signed-off-by: Will Kelleher <wkelleher at gogoair.com>
> > > ---
> > >  libavcodec/hevc_parser.c | 3 +++
> > >  1 file changed, 3 insertions(+)
> > > 
> > > diff --git a/libavcodec/hevc_parser.c b/libavcodec/hevc_parser.c
> > > index 4625e61..5558afc 100644
> > > --- a/libavcodec/hevc_parser.c
> > > +++ b/libavcodec/hevc_parser.c
> > > @@ -202,6 +202,9 @@ static inline int parse_nal_units(AVCodecParserContext *s, const uint8_t *buf,
> > >  
> > >      gb = &h->HEVClc->gb;
> > >  
> > > +    h->a53_caption_size = 0;
> > > +    av_freep(&h->a53_caption);
> > > +
> > 
> > shouldnt this be in hevc_parser_close() ?
> > 
> > (actually it probably belongs somewhere closer into hevc as the code
> >  allocating should also free but the other allocs are also seperate
> >  from the freeing ...)
> 
> Let me spend a little more time tracing the hevc decode process - I
> probably don't understand this code as well as I should.  I have just been
> mirroring the existing h264 implementation of this feature.
> 

> The a53_caption buffer is normally realloc'd when each sei_nal is
> parsed, and then freed after it gets written to the output frame's
> side data in hevc_frame_start.

and if an error happens between it leaks ?


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Republics decline into democracies and democracies degenerate into
despotisms. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160408/fdf2ecc5/attachment.sig>


More information about the ffmpeg-devel mailing list