[FFmpeg-devel] [PATCH] lavc/smvjpegdec: fix mem leak in case of init failure
Michael Niedermayer
michaelni at gmx.at
Sun Nov 23 17:25:44 CET 2014
On Sat, Nov 22, 2014 at 11:26:04PM +0100, Lukasz Marek wrote:
> Signed-off-by: Lukasz Marek <lukasz.m.luki2 at gmail.com>
> ---
> libavcodec/smvjpegdec.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/libavcodec/smvjpegdec.c b/libavcodec/smvjpegdec.c
> index 69327cd..261a441 100644
> --- a/libavcodec/smvjpegdec.c
> +++ b/libavcodec/smvjpegdec.c
> @@ -89,8 +89,10 @@ static av_cold int smvjpeg_decode_init(AVCodecContext *avctx)
> return AVERROR(ENOMEM);
>
> s->picture[1] = av_frame_alloc();
> - if (!s->picture[1])
> + if (!s->picture[1]) {
> + av_frame_free(&s->picture[0]);
> return AVERROR(ENOMEM);
> + }
>
> s->jpg.picture_ptr = s->picture[0];
>
> @@ -120,6 +122,11 @@ static av_cold int smvjpeg_decode_init(AVCodecContext *avctx)
> }
> av_dict_free(&thread_opt);
>
> + if (ret < 0) {
> + av_frame_free(&s->picture[0]);
> + av_frame_free(&s->picture[1]);
> + avcodec_free_context(&s->avctx);
> + }
> return ret;
> }
LGTM, alternatively smvjpeg_decode_end() could probably be called on
error
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Asymptotically faster algorithms should always be preferred if you have
asymptotical amounts of data
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20141123/838e2cc8/attachment.asc>
More information about the ffmpeg-devel
mailing list