From faa3807cfe95bace6eaa9e8775520fab713c27d0 Mon Sep 17 00:00:00 2001 From: Bernhard Reiter Date: Wed, 13 Aug 2014 19:31:24 +0200 Subject: [PATCH 1/2] http.c: die if curl_*_init fails Signed-off-by: Bernhard Reiter Reviewed-by: Jeff King Signed-off-by: Junio C Hamano --- http.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/http.c b/http.c index 94e1afdee..0276aa942 100644 --- a/http.c +++ b/http.c @@ -300,6 +300,9 @@ static CURL *get_curl_handle(void) { CURL *result = curl_easy_init(); + if (!result) + die("curl_easy_init failed"); + if (!curl_ssl_verify) { curl_easy_setopt(result, CURLOPT_SSL_VERIFYPEER, 0); curl_easy_setopt(result, CURLOPT_SSL_VERIFYHOST, 0); @@ -399,7 +402,8 @@ void http_init(struct remote *remote, const char *url, int proactive_auth) git_config(urlmatch_config_entry, &config); free(normalized_url); - curl_global_init(CURL_GLOBAL_ALL); + if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) + die("curl_global_init failed"); http_proactive_auth = proactive_auth; From 8837eb47f27665450c898affc39816c48edacd80 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Sun, 17 Aug 2014 03:35:53 -0400 Subject: [PATCH 2/2] http: style fixes for curl_multi_init error check Unless there is a good reason, we should use die() rather than fprintf/exit. We can also shorten the message to match other curl init failures (and match our usual lowercase no-full-stop style). Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- http.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/http.c b/http.c index 0276aa942..d33b122cd 100644 --- a/http.c +++ b/http.c @@ -421,10 +421,8 @@ void http_init(struct remote *remote, const char *url, int proactive_auth) } curlm = curl_multi_init(); - if (curlm == NULL) { - fprintf(stderr, "Error creating curl multi handle.\n"); - exit(1); - } + if (!curlm) + die("curl_multi_init failed"); #endif if (getenv("GIT_SSL_NO_VERIFY"))