Quoting wm4 (2017-07-16 12:43:09)
> Behaves more like FFmpeg, makes some API users not crash on exit.
> ---
>  libavformat/utils.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/libavformat/utils.c b/libavformat/utils.c
> index eaba473914..24a4335016 100644
> --- a/libavformat/utils.c
> +++ b/libavformat/utils.c
> @@ -2733,7 +2733,12 @@ void avformat_free_context(AVFormatContext *s)
>  void avformat_close_input(AVFormatContext **ps)
>  {
>      AVFormatContext *s = *ps;
> -    AVIOContext *pb    = s->pb;
> +    AVIOContext *pb;
> +
> +    if (!ps || !*ps)

This is overly lax IMO. *ps being NULL should be allowed, in analogy
with free(NULL) beeing a no-op. But ps being NULL makes no sense at all
ever and just means that the caller is broken, so that should crash.

-- 
Anton Khirnov
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to