Module Name: src
Committed By: joerg
Date: Tue Mar 9 16:14:08 UTC 2010
Modified Files:
src/usr.bin/passwd: pam_passwd.c
Log Message:
Do not call pam_end with an invalid handle if pam_start failed.
>From Richard Hansen.
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/usr.bin/passwd/pam_passwd.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/passwd/pam_passwd.c
diff -u src/usr.bin/passwd/pam_passwd.c:1.5 src/usr.bin/passwd/pam_passwd.c:1.6
--- src/usr.bin/passwd/pam_passwd.c:1.5 Tue Mar 2 16:19:13 2010
+++ src/usr.bin/passwd/pam_passwd.c Tue Mar 9 16:14:08 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: pam_passwd.c,v 1.5 2010/03/02 16:19:13 gdt Exp $ */
+/* $NetBSD: pam_passwd.c,v 1.6 2010/03/09 16:14:08 joerg Exp $ */
/*-
* Copyright (c) 2002 Networks Associates Technologies, Inc.
@@ -38,7 +38,7 @@
#ifdef __FreeBSD__
__FBSDID("$FreeBSD: src/usr.bin/passwd/passwd.c,v 1.23 2003/04/18 21:27:09 nectar Exp $");
#else
-__RCSID("$NetBSD: pam_passwd.c,v 1.5 2010/03/02 16:19:13 gdt Exp $");
+__RCSID("$NetBSD: pam_passwd.c,v 1.6 2010/03/09 16:14:08 joerg Exp $");
#endif
#include <sys/param.h>
@@ -108,7 +108,9 @@
/* initialize PAM -- always use the program name "passwd" */
pam_err = pam_start("passwd", username, &pamc, &pamh);
- pam_check("unable to start PAM session");
+ if (pam_err != PAM_SUCCESS)
+ errx(1, "unable to start PAM session: %s",
+ pam_strerror(NULL, pam_err));
pam_err = pam_set_item(pamh, PAM_TTY, ttyname(STDERR_FILENO));
pam_check("unable to set TTY");