Index: auth/pam.c =================================================================== RCS file: /cvs/sudo/auth/pam.c,v retrieving revision 1.51 diff -u -r1.51 pam.c --- auth/pam.c 25 Jun 2005 18:29:17 -0000 1.51 +++ auth/pam.c 28 Sep 2006 21:47:00 -0000 @@ -249,7 +249,12 @@ p = pm->msg; /* Read the password. */ pass = tgetpass(p, def_passwd_timeout * 60, flags); - pr->resp = estrdup(pass ? pass : ""); + if (pass == NULL) { + /* We got ^C instead of a password; abort quickly. */ + nil_pw = 1; + return PAM_CONV_ERR; + } + pr->resp = estrdup(pass); if (*pr->resp == '\0') nil_pw = 1; /* empty password */ else