summaryrefslogtreecommitdiff
path: root/credential-cache.c
diff options
context:
space:
mode:
authorClemens Buchacher <drizzd@aon.at>2012-01-07 12:54:36 +0100
committerJunio C Hamano <gitster@pobox.com>2012-01-08 14:38:25 -0800
commit98c2924cfa84a7f30b17636bd5632e53a0fa002e (patch)
tree2e00484aa2bb84837350617c94b65f2823f04de1 /credential-cache.c
parent861444f6d702b15713d0875ce9dc5aff64885fba (diff)
downloadgit-98c2924cfa84a7f30b17636bd5632e53a0fa002e.tar.gz
credentials: unable to connect to cache daemon
Error out if we just spawned the daemon and yet we cannot connect. And always release the string buffer. Signed-off-by: Clemens Buchacher <drizzd@aon.at> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'credential-cache.c')
-rw-r--r--credential-cache.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/credential-cache.c b/credential-cache.c
index dc98372e59..b15a9a7449 100644
--- a/credential-cache.c
+++ b/credential-cache.c
@@ -71,11 +71,10 @@ static void do_cache(const char *socket, const char *action, int timeout,
die_errno("unable to relay credential");
}
- if (!send_request(socket, &buf))
- return;
- if (flags & FLAG_SPAWN) {
+ if (send_request(socket, &buf) < 0 && (flags & FLAG_SPAWN)) {
spawn_daemon(socket);
- send_request(socket, &buf);
+ if (send_request(socket, &buf) < 0)
+ die_errno("unable to connect to cache daemon");
}
strbuf_release(&buf);
}