ffmpeg | branch: master | Michael Niedermayer <mich...@niedermayer.cc> | Thu Mar 17 01:53:02 2016 +0100| [6b7ce0ea0d6271cd788888cec9baa48fc088bde5] | committer: Michael Niedermayer
avformat/avio: Fix unknown protocol handling Fixes regression since bb8cc89b2986df6f60831b67cd250da312cce1d0 Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6b7ce0ea0d6271cd788888cec9baa48fc088bde5 --- libavformat/avio.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/libavformat/avio.c b/libavformat/avio.c index 0be820b..b2c2178 100644 --- a/libavformat/avio.c +++ b/libavformat/avio.c @@ -249,7 +249,6 @@ int ffurl_handshake(URLContext *c) static const struct URLProtocol *url_find_protocol(const char *filename) { - const URLProtocol *up; const URLProtocol **protocols; char proto_str[128], proto_nested[128], *ptr; size_t proto_len = strspn(filename, URL_SCHEME_CHARS); @@ -271,16 +270,19 @@ static const struct URLProtocol *url_find_protocol(const char *filename) protocols = ffurl_get_protocols(NULL, NULL); for (i = 0; protocols[i]; i++) { - up = protocols[i]; - if (!strcmp(proto_str, up->name)) - break; + const URLProtocol *up = protocols[i]; + if (!strcmp(proto_str, up->name)) { + av_freep(&protocols); + return up; + } if (up->flags & URL_PROTOCOL_FLAG_NESTED_SCHEME && - !strcmp(proto_nested, up->name)) - break; + !strcmp(proto_nested, up->name)) { + av_freep(&protocols); + return up; + } } - av_freep(&protocols); - return up; + return NULL; } int ffurl_alloc(URLContext **puc, const char *filename, int flags, _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog