avformat/avio: Fix unknown protocol handling

Fixes regression since bb8cc89b29

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2016-03-17 01:53:02 +01:00
parent 06267afe1c
commit 6b7ce0ea0d

View File

@ -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,