summaryrefslogtreecommitdiff
path: root/lib/libpam/modules/pam_ssh
diff options
context:
space:
mode:
authorchristos <christos@NetBSD.org>2005-04-19 03:15:34 +0000
committerchristos <christos@NetBSD.org>2005-04-19 03:15:34 +0000
commit2a62e4e1adf2bbce8892ea76bdc1ba4d0103e8ab (patch)
tree6a10b58ad30902fd51bbd98d8d57f8b9cb74f940 /lib/libpam/modules/pam_ssh
parentd0388cff8b393e8b35202d027307a785afa73774 (diff)
check for pwd != in getpw*_r functions.
Diffstat (limited to 'lib/libpam/modules/pam_ssh')
-rw-r--r--lib/libpam/modules/pam_ssh/pam_ssh.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/libpam/modules/pam_ssh/pam_ssh.c b/lib/libpam/modules/pam_ssh/pam_ssh.c
index a4cba82bea9..37f2b5f1730 100644
--- a/lib/libpam/modules/pam_ssh/pam_ssh.c
+++ b/lib/libpam/modules/pam_ssh/pam_ssh.c
@@ -1,4 +1,4 @@
-/* $NetBSD: pam_ssh.c,v 1.10 2005/03/31 15:11:54 thorpej Exp $ */
+/* $NetBSD: pam_ssh.c,v 1.11 2005/04/19 03:15:36 christos Exp $ */
/*-
* Copyright (c) 2003 Networks Associates Technology, Inc.
@@ -38,7 +38,7 @@
#ifdef __FreeBSD__
__FBSDID("$FreeBSD: src/lib/libpam/modules/pam_ssh/pam_ssh.c,v 1.40 2004/02/10 10:13:21 des Exp $");
#else
-__RCSID("$NetBSD: pam_ssh.c,v 1.10 2005/03/31 15:11:54 thorpej Exp $");
+__RCSID("$NetBSD: pam_ssh.c,v 1.11 2005/04/19 03:15:36 christos Exp $");
#endif
#include <sys/param.h>
@@ -153,7 +153,8 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags __unused,
pam_err = pam_get_user(pamh, &user, NULL);
if (pam_err != PAM_SUCCESS)
return (pam_err);
- if (getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0)
+ if (getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 ||
+ pwd == NULL)
return (PAM_USER_UNKNOWN);
if (pwd->pw_dir == NULL)
return (PAM_AUTH_ERR);
@@ -414,7 +415,8 @@ pam_sm_open_session(pam_handle_t *pamh, int flags __unused,
pam_err = pam_get_user(pamh, &user, NULL);
if (pam_err != PAM_SUCCESS)
return (pam_err);
- if (getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0)
+ if (getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 ||
+ pwd == NULL)
return (PAM_USER_UNKNOWN);
/* start the agent */