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");