diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-09-15 14:11:15 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-09-15 14:11:15 -0700 |
commit | c13f458d869fefb603c63ae7bf65fe3d595a8a83 (patch) | |
tree | e01fb94a1d9e4acff7726e18bd8fce6b316c9f29 | |
parent | 4fa1251bc24e04dcc78bf93b9fd6344e6fd2a114 (diff) | |
parent | d63ed6ef241b2e7f124089e2672cfce8251ed390 (diff) | |
download | git-c13f458d869fefb603c63ae7bf65fe3d595a8a83.tar.gz |
Merge branch 'jk/fix-remote-curl-url-wo-proto'
"git fetch http::/site/path" did not die correctly and segfaulted
instead.
* jk/fix-remote-curl-url-wo-proto:
remote-curl: handle URLs without protocol
-rw-r--r-- | http.c | 2 | ||||
-rwxr-xr-x | t/t5550-http-fetch-dumb.sh | 8 |
2 files changed, 9 insertions, 1 deletions
@@ -723,7 +723,7 @@ static CURL *get_curl_handle(void) * precedence here, as in CURL. */ if (!curl_http_proxy) { - if (!strcmp(http_auth.protocol, "https")) { + if (http_auth.protocol && !strcmp(http_auth.protocol, "https")) { var_override(&curl_http_proxy, getenv("HTTPS_PROXY")); var_override(&curl_http_proxy, getenv("https_proxy")); } else { diff --git a/t/t5550-http-fetch-dumb.sh b/t/t5550-http-fetch-dumb.sh index dc9b87d6b4..7641417b4a 100755 --- a/t/t5550-http-fetch-dumb.sh +++ b/t/t5550-http-fetch-dumb.sh @@ -299,5 +299,13 @@ test_expect_success 'git client does not send an empty Accept-Language' ' ! grep "^=> Send header: Accept-Language:" stderr ' +test_expect_success 'remote-http complains cleanly about malformed urls' ' + # do not actually issue "list" or other commands, as we do not + # want to rely on what curl would actually do with such a broken + # URL. This is just about making sure we do not segfault during + # initialization. + test_must_fail git remote-http http::/example.com/repo.git +' + stop_httpd test_done |