diff options
author | Anton Khirnov <anton@khirnov.net> | 2016-01-20 11:11:38 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2016-02-22 11:48:30 +0100 |
commit | ec4c48397641dbaf4ae8df36c32aaa5a311a11bf (patch) | |
tree | 04b1a3187ffa6c4a1821eb5d6dc70ac8397b5006 /libavformat/rtsp.c | |
parent | 8c0ceafb0f25da077ff23e394667119f031574fd (diff) |
lavf: add a protocol whitelist/blacklist for file opened internally
Should make the default behaviour safer for careless callers that open
random untrusted files.
Bug-Id: CVE-2016-1897
Bug-Id: CVE-2016-1898
Diffstat (limited to 'libavformat/rtsp.c')
-rw-r--r-- | libavformat/rtsp.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index 1a545c78d6..f1e0780b47 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -1668,7 +1668,8 @@ int ff_rtsp_connect(AVFormatContext *s) return AVERROR(EIO); if (!rt->protocols) { - rt->protocols = ffurl_get_protocols(NULL, NULL); + rt->protocols = ffurl_get_protocols(s->protocol_whitelist, + s->protocol_blacklist); if (!rt->protocols) return AVERROR(ENOMEM); } @@ -2252,7 +2253,8 @@ static int sdp_read_header(AVFormatContext *s) return AVERROR(EIO); if (!rt->protocols) { - rt->protocols = ffurl_get_protocols(NULL, NULL); + rt->protocols = ffurl_get_protocols(s->protocol_whitelist, + s->protocol_blacklist); if (!rt->protocols) return AVERROR(ENOMEM); } @@ -2379,7 +2381,8 @@ static int rtp_read_header(AVFormatContext *s) return AVERROR(EIO); if (!rt->protocols) { - rt->protocols = ffurl_get_protocols(NULL, NULL); + rt->protocols = ffurl_get_protocols(s->protocol_whitelist, + s->protocol_blacklist); if (!rt->protocols) return AVERROR(ENOMEM); } |