[FFmpeg-devel] [PATCH 2/2] lavc/options: fix leaks in avcodec_copy_context

Lukasz Marek lukasz.m.luki2 at gmail.com
Thu Nov 27 00:43:57 CET 2014


On 24.11.2014 05:16, Lukasz Marek wrote:
> Signed-off-by: Lukasz Marek <lukasz.m.luki2 at gmail.com>
> ---
>   libavcodec/options.c | 23 +++++++++++------------
>   1 file changed, 11 insertions(+), 12 deletions(-)
>
> diff --git a/libavcodec/options.c b/libavcodec/options.c
> index 7f9fb07..8ba997c 100644
> --- a/libavcodec/options.c
> +++ b/libavcodec/options.c
> @@ -190,6 +190,11 @@ int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src)
>       }
>
>       av_opt_free(dest);
> +    av_freep(&dest->rc_override);
> +    av_freep(&dest->intra_matrix);
> +    av_freep(&dest->inter_matrix);
> +    av_freep(&dest->extradata);
> +    av_freep(&dest->subtitle_header);
>
>       memcpy(dest, src, sizeof(*dest));
>       av_opt_copy(dest, src);
> @@ -205,13 +210,7 @@ int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src)
>       dest->slice_offset    = NULL;
>       dest->hwaccel         = NULL;
>       dest->internal        = NULL;
> -
> -    /* reallocate values that should be allocated separately */
> -    dest->extradata       = NULL;
> -    dest->intra_matrix    = NULL;
> -    dest->inter_matrix    = NULL;
> -    dest->rc_override     = NULL;
> -    dest->subtitle_header = NULL;


This should stay. Updated version attched

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-lavc-options-fix-leaks-in-avcodec_copy_context.patch
Type: text/x-patch
Size: 2176 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20141127/b31c3389/attachment.bin>


More information about the ffmpeg-devel mailing list