From: Todd C. Miller Date: Tue, 9 Dec 2008 23:48:19 +0000 (+0000) Subject: Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user enters ^C at the X-Git-Tag: SUDO_1_7_0~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=743c624954b158ef4a527c9df55c055ecf72e86c;p=sudo Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user enters ^C at the password prompt. --- diff --git a/auth/pam.c b/auth/pam.c index d6ba2df54..a9831ec9f 100644 --- a/auth/pam.c +++ b/auth/pam.c @@ -259,7 +259,7 @@ sudo_conv(num_msg, msg, response, appdata_ptr) int n, flags, std_prompt; if ((*response = malloc(num_msg * sizeof(struct pam_response))) == NULL) - return(PAM_CONV_ERR); + return(PAM_SYSTEM_ERR); zero_bytes(*response, num_msg * sizeof(struct pam_response)); for (pr = *response, pm = *msg, n = num_msg; n--; pr++, pm++) { @@ -331,5 +331,5 @@ err: zero_bytes(*response, num_msg * sizeof(struct pam_response)); free(*response); *response = NULL; - return(PAM_CONV_ERR); + return(gotintr ? PAM_AUTH_ERR : PAM_CONV_ERR); }