diff options
author | Jason Haslam <jason@scitools.com> | 2019-01-14 10:14:36 -0700 |
---|---|---|
committer | Jason Haslam <jason@scitools.com> | 2019-01-14 10:14:36 -0700 |
commit | 35d86c775bb9ec7ee85afe90176cb278e56872a2 (patch) | |
tree | 7db8fac9a76da5a7fb4596ff3afdda21317fc263 | |
parent | 1305cd4e8dfc9612250c4392d601cc41fcc22f23 (diff) | |
download | libgit2-35d86c775bb9ec7ee85afe90176cb278e56872a2.tar.gz |
proxy: fix crash on remote connection with GIT_PROXY_AUTO but no proxy is detected
-rw-r--r-- | src/transports/http.c | 3 | ||||
-rw-r--r-- | tests/online/clone.c | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/transports/http.c b/src/transports/http.c index 3a0d2cc02..387754e3f 100644 --- a/src/transports/http.c +++ b/src/transports/http.c @@ -679,6 +679,9 @@ static int load_proxy_config(http_subtransport *t) !!t->server.url.use_ssl, &t->proxy_url)) < 0) return error; + if (!t->proxy_url) + return 0; + t->proxy_opts.type = GIT_PROXY_SPECIFIED; t->proxy_opts.url = t->proxy_url; t->proxy_opts.credentials = t->owner->proxy.credentials; diff --git a/tests/online/clone.c b/tests/online/clone.c index ce49f180f..928b7bc31 100644 --- a/tests/online/clone.c +++ b/tests/online/clone.c @@ -840,3 +840,10 @@ void test_online_clone__proxy_credentials_in_environment(void) git_buf_dispose(&url); } + +void test_online_clone__proxy_auto_not_detected(void) +{ + g_options.fetch_opts.proxy_opts.type = GIT_PROXY_AUTO; + + cl_git_pass(git_clone(&g_repo, "http://github.com/libgit2/TestGitRepository", "./foo", &g_options)); +} |