From: Junio C Hamano Date: Thu, 27 Jun 2013 21:29:49 +0000 (-0700) Subject: Merge branch 'bc/http-keep-memory-given-to-curl' X-Git-Tag: v1.8.4-rc0~115 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/dc2ed04c23e59bf2ea93021fdb3660d7ded1f46c?hp=9df9bdda3a2450fe97ba4db61ce4d46c81fbfc16 Merge branch 'bc/http-keep-memory-given-to-curl' Older cURL wanted piece of memory we call it with to be stable, but we updated the auth material after handing it to a call. * bc/http-keep-memory-given-to-curl: http.c: don't rewrite the user:passwd string multiple times --- diff --git a/http.c b/http.c index 92aba59082..2d086aedfa 100644 --- a/http.c +++ b/http.c @@ -228,9 +228,15 @@ static void init_curl_http_auth(CURL *result) #else { static struct strbuf up = STRBUF_INIT; - strbuf_reset(&up); - strbuf_addf(&up, "%s:%s", - http_auth.username, http_auth.password); + /* + * Note that we assume we only ever have a single set of + * credentials in a given program run, so we do not have + * to worry about updating this buffer, only setting its + * initial value. + */ + if (!up.len) + strbuf_addf(&up, "%s:%s", + http_auth.username, http_auth.password); curl_easy_setopt(result, CURLOPT_USERPWD, up.buf); } #endif