- (djm) Don't loop forever when changing password via PAM. Patch
   from Solar Designer <solar@openwall.com>
diff --git a/auth-pam.c b/auth-pam.c
index dfaaacd..2ea2996 100644
--- a/auth-pam.c
+++ b/auth-pam.c
@@ -33,7 +33,7 @@
 #include "canohost.h"
 #include "readpass.h"
 
-RCSID("$Id: auth-pam.c,v 1.32 2001/03/21 01:16:25 djm Exp $");
+RCSID("$Id: auth-pam.c,v 1.33 2001/03/21 02:01:35 djm Exp $");
 
 #define NEW_AUTHTOK_MSG \
 	"Warning: Your password has expired, please change it now"
@@ -326,14 +326,10 @@
 
 	if (password_change_required) {
 		pamstate = OTHER;
-		/* XXX: should we really loop forever? */
-		do {
-			pam_retval = pam_chauthtok(__pamh, 
-			    PAM_CHANGE_EXPIRED_AUTHTOK);
-			if (pam_retval != PAM_SUCCESS)
-				log("PAM pam_chauthtok failed[%d]: %.200s",
-				    pam_retval, PAM_STRERROR(__pamh, pam_retval));
-		} while (pam_retval != PAM_SUCCESS);
+		pam_retval = pam_chauthtok(__pamh, PAM_CHANGE_EXPIRED_AUTHTOK);
+		if (pam_retval != PAM_SUCCESS)
+			fatal("PAM pam_chauthtok failed[%d]: %.200s",
+			    pam_retval, PAM_STRERROR(__pamh, pam_retval));
 	}
 }