On Tue, Apr 11, 2017 at 7:54 PM, Sean McGovern <[email protected]> wrote:
> On Apr 11, 2017 7:48 PM, "Luca Barbato" <[email protected]> wrote:
>
> Avoid a use after free in avformat_find_stream_info.
>
> CC: [email protected]
> ---
>  libavformat/utils.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/libavformat/utils.c b/libavformat/utils.c
> index 8fa89eb..eaba473 100644
> --- a/libavformat/utils.c
> +++ b/libavformat/utils.c
> @@ -2466,11 +2466,6 @@ FF_ENABLE_DEPRECATION_WARNINGS
>          count++;
>      }
>
> -    // close codecs which were opened in try_decode_frame()
> -    for (i = 0; i < ic->nb_streams; i++) {
> -        st = ic->streams[i];
> -        avcodec_close(st->internal->avctx);
> -    }
>      for (i = 0; i < ic->nb_streams; i++) {
>          st = ic->streams[i];
>          avctx = st->internal->avctx;
> @@ -2570,6 +2565,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
>
>  find_stream_info_err:
>      for (i = 0; i < ic->nb_streams; i++) {
> +        avcodec_close(ic->streams[i]->internal->avctx);
>          av_freep(&ic->streams[i]->info);
>          av_bsf_free(&ic->streams[i]->internal->extract_extradata.bsf);
>          av_packet_free(&ic->streams[i]->internal->extract_extradata.pkt);
> --
>
>
>
> Does this by any chance close any Bugzilla tickets?

I'm afraid not, this is related to a pesky issue with the new channel
layout api.

patch ok with me.
-- 
Vittorio
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to