X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=connect.c;h=57dc20c43ca1ba205ec0a18e263f9dde081390f4;hb=edc54fb5d4ce6774fc2ac76779bd57dc2d6ab189;hp=02e738a0146a5c46aaf3f1d8edc3c055a99e98b9;hpb=1253164c8badf75034b8ba7c1cfabb1993fa7cf7;p=git.git diff --git a/connect.c b/connect.c index 02e738a01..57dc20c43 100644 --- a/connect.c +++ b/connect.c @@ -621,15 +621,22 @@ int finish_connect(struct child_process *conn) char *git_getpass(const char *prompt) { - char *askpass; + const char *askpass; struct child_process pass; const char *args[3]; static struct strbuf buffer = STRBUF_INIT; askpass = getenv("GIT_ASKPASS"); - - if (!askpass || !(*askpass)) - return getpass(prompt); + if (!askpass) + askpass = askpass_program; + if (!askpass) + askpass = getenv("SSH_ASKPASS"); + if (!askpass || !(*askpass)) { + char *result = getpass(prompt); + if (!result) + die_errno("Could not read password"); + return result; + } args[0] = askpass; args[1] = prompt;