From 36cd017acd9cac0e6695124c052a59fb1fc13145 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20B=C5=93sch?= Date: Tue, 3 Sep 2013 22:22:19 +0200 Subject: [PATCH] avformat: make avformat_close_input() more tolerant. The purpose of this commit is to make error management simpler and less error prone, just like av_free() which is safe with NULL. --- doc/APIchanges | 3 +++ libavformat/utils.c | 10 ++++++++-- libavformat/version.h | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index c4255bc730..12b9af4002 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -15,6 +15,9 @@ libavutil: 2012-10-22 API changes, most recent first: +2013-xx-xx - xxxxxxx - lavf 55.16.101 - avformat.h + avformat_close_input() argument can be NULL and point on NULL. + 2013-08-29 - e31db62 - lavf 55.15.100 - avformat.h Add av_format_get_probe_score(). diff --git a/libavformat/utils.c b/libavformat/utils.c index 763588b204..b12d5b8694 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -3252,8 +3252,14 @@ void av_close_input_file(AVFormatContext *s) void avformat_close_input(AVFormatContext **ps) { - AVFormatContext *s = *ps; - AVIOContext *pb = s->pb; + AVFormatContext *s; + AVIOContext *pb; + + if (!ps || !*ps) + return; + + s = *ps; + pb = s->pb; if ((s->iformat && s->iformat->flags & AVFMT_NOFILE) || (s->flags & AVFMT_FLAG_CUSTOM_IO)) diff --git a/libavformat/version.h b/libavformat/version.h index 47a022b822..8ae40ab3ca 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -31,7 +31,7 @@ #define LIBAVFORMAT_VERSION_MAJOR 55 #define LIBAVFORMAT_VERSION_MINOR 16 -#define LIBAVFORMAT_VERSION_MICRO 100 +#define LIBAVFORMAT_VERSION_MICRO 101 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ LIBAVFORMAT_VERSION_MINOR, \