summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2019-01-14 21:00:42 +0000
committerGitHub <noreply@github.com>2019-01-14 21:00:42 +0000
commit5b08a71fcbfa784bded6e753508501fae870a612 (patch)
treeae9da0ea20d33f3beaab8604ef695dab852b8dfc
parent99afd41f1c43c856d39e3b9572d7a2103875a771 (diff)
parent35d86c775bb9ec7ee85afe90176cb278e56872a2 (diff)
downloadlibgit2-5b08a71fcbfa784bded6e753508501fae870a612.tar.gz
Merge pull request #4934 from stinb/proxy-crash
Fix crash on remote connection when GIT_PROXY_AUTO is set but no proxy is detected
-rw-r--r--src/transports/http.c3
-rw-r--r--tests/online/clone.c7
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));
+}