From cf4cf3b646a86941cc7f402950e606c131599639 Mon Sep 17 00:00:00 2001 From: Tore Sinding Bekkedal Date: Mon, 28 Aug 2017 13:42:40 +0200 Subject: [PATCH] Fix unlock prompt when GECOS is CSVs To: address@hidden --- src/socket.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/socket.c b/src/socket.c index 804592e..3938fa0 100644 --- a/src/socket.c +++ b/src/socket.c @@ -1105,8 +1105,19 @@ static void AskPassword(Message *m) D_processinputdata = (char *)pwdata; D_processinput = PasswordProcessInput; - snprintf(prompt, sizeof(prompt), "\ascreen used by %s%s<%s> on %s.\r\nPassword: ", ppp->pw_gecos, + char * gecos_comma = strchr(ppp->pw_gecos, ','); + char * realname = 0; + + if (gecos_comma) { + realname = malloc(gecos_comma - ppp->pw_gecos); + memcpy(realname, ppp->pw_gecos, gecos_comma - ppp->pw_gecos); + } + + snprintf(prompt, sizeof(prompt), "\ascreen used by %s%s<%s> on %s.\r\nPassword: ", + gecos_comma ? realname : ppp->pw_gecos, ppp->pw_gecos[0] ? " " : "", ppp->pw_name, HostName); + + free(realname); AddStr(prompt); } -- 2.11.0