[FFmpeg-cvslog] avformat/avio: check input URLContext value NULL

Steven Liu git at videolan.org
Thu Dec 28 06:10:09 EET 2017


ffmpeg | branch: master | Steven Liu <lq at chinaffmpeg.org> | Thu Dec 28 12:07:22 2017 +0800| [be4dfbf7b71e44a53ca8da882a081e35ea134c83] | committer: Steven Liu

avformat/avio: check input URLContext value NULL

Reviewed-by: Michael Niedermayer <michael at niedermayer.cc>
Reviewed-by: Karthick Jeyapal <kjeyapal at akamai.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=be4dfbf7b71e44a53ca8da882a081e35ea134c83
---

 libavformat/avio.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/libavformat/avio.c b/libavformat/avio.c
index 4dc468350c..63e82872f7 100644
--- a/libavformat/avio.c
+++ b/libavformat/avio.c
@@ -625,13 +625,15 @@ int64_t ffurl_size(URLContext *h)
 
 int ffurl_get_file_handle(URLContext *h)
 {
-    if (!h->prot->url_get_file_handle)
+    if (!h || !h->prot || !h->prot->url_get_file_handle)
         return -1;
     return h->prot->url_get_file_handle(h);
 }
 
 int ffurl_get_multi_file_handle(URLContext *h, int **handles, int *numhandles)
 {
+    if (!h || !h->prot)
+        return AVERROR(ENOSYS);
     if (!h->prot->url_get_multi_file_handle) {
         if (!h->prot->url_get_file_handle)
             return AVERROR(ENOSYS);
@@ -647,15 +649,15 @@ int ffurl_get_multi_file_handle(URLContext *h, int **handles, int *numhandles)
 
 int ffurl_get_short_seek(URLContext *h)
 {
-    if (!h->prot->url_get_short_seek)
+    if (!h || !h->prot || !h->prot->url_get_short_seek)
         return AVERROR(ENOSYS);
     return h->prot->url_get_short_seek(h);
 }
 
 int ffurl_shutdown(URLContext *h, int flags)
 {
-    if (!h->prot->url_shutdown)
-        return AVERROR(EINVAL);
+    if (!h || !h->prot || !h->prot->url_shutdown)
+        return AVERROR(ENOSYS);
     return h->prot->url_shutdown(h, flags);
 }
 



More information about the ffmpeg-cvslog mailing list