ffmpeg | branch: master | Andrew Stone <a...@stoney.io> | Tue Sep 8 16:08:29 2015 -0400| [a450ec267225baf431eefadcfacf15879256f363] | committer: Michael Niedermayer
avcodec/libvorbisdec: Fix memory leak Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a450ec267225baf431eefadcfacf15879256f363 --- libavcodec/libvorbisdec.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavcodec/libvorbisdec.c b/libavcodec/libvorbisdec.c index 2b22e05..ecf690a 100644 --- a/libavcodec/libvorbisdec.c +++ b/libavcodec/libvorbisdec.c @@ -32,6 +32,8 @@ typedef struct OggVorbisDecContext { ogg_packet op; /**< ogg packet */ } OggVorbisDecContext; +static int oggvorbis_decode_close(AVCodecContext *avccontext); + static int oggvorbis_decode_init(AVCodecContext *avccontext) { OggVorbisDecContext *context = avccontext->priv_data ; uint8_t *p= avccontext->extradata; @@ -110,8 +112,7 @@ static int oggvorbis_decode_init(AVCodecContext *avccontext) { return 0 ; error: - vorbis_info_clear(&context->vi); - vorbis_comment_clear(&context->vc) ; + oggvorbis_decode_close(avccontext); return ret; } @@ -187,6 +188,8 @@ static int oggvorbis_decode_frame(AVCodecContext *avccontext, void *data, static int oggvorbis_decode_close(AVCodecContext *avccontext) { OggVorbisDecContext *context = avccontext->priv_data ; + vorbis_block_clear(&context->vb); + vorbis_dsp_clear(&context->vd); vorbis_info_clear(&context->vi) ; vorbis_comment_clear(&context->vc) ; _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog