diff options
Diffstat (limited to 'src/tool_operate.c')
-rw-r--r-- | src/tool_operate.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/tool_operate.c b/src/tool_operate.c index d648dc054..44f01e94e 100644 --- a/src/tool_operate.c +++ b/src/tool_operate.c @@ -668,15 +668,17 @@ static long url_proto(char *url) { CURLU *uh = curl_url(); long proto = 0; - if(url) { - if(!curl_url_set(uh, CURLUPART_URL, url, - CURLU_GUESS_SCHEME | CURLU_NON_SUPPORT_SCHEME)) { - char *schemep = NULL; - if(!curl_url_get(uh, CURLUPART_SCHEME, &schemep, - CURLU_DEFAULT_SCHEME) && - schemep) { - proto = scheme2protocol(schemep); - curl_free(schemep); + if(uh) { + if(url) { + if(!curl_url_set(uh, CURLUPART_URL, url, + CURLU_GUESS_SCHEME | CURLU_NON_SUPPORT_SCHEME)) { + char *schemep = NULL; + if(!curl_url_get(uh, CURLUPART_SCHEME, &schemep, + CURLU_DEFAULT_SCHEME) && + schemep) { + proto = scheme2protocol(schemep); + curl_free(schemep); + } } } curl_url_cleanup(uh); |